mirror of
https://github.com/open-goal/jak-project
synced 2026-05-31 17:32:51 -04:00
[Decompiler] Replace type hint system and improve variable types. (#320)
* get gkernel and gkernel-h at least somewhat working in the offline tests * strip comments from json * switch hints to casts. online tests passing, offline passing up to gkernel * variable retyping is added * fix up casts in lets * update
This commit is contained in:
@@ -690,21 +690,21 @@ TEST_F(FormRegressionTest, ExprArrayMethod2) {
|
||||
{"L336", "~A"},
|
||||
{"L335", " ~A"},
|
||||
{"L334", ")"}},
|
||||
parse_hint_json("["
|
||||
"\t\t[23, [\"gp\", \"(array int32)\"]],\n"
|
||||
"\t\t[43, [\"gp\", \"(array uint32)\"]],\n"
|
||||
"\t\t[63, [\"gp\", \"(array int64)\"]],\n"
|
||||
"\t\t[83, [\"gp\", \"(array uint64)\"]],\n"
|
||||
"\t\t[102, [\"gp\", \"(array int8)\"]],\n"
|
||||
"\t\t[121, [\"gp\", \"(array uint8)\"]],\n"
|
||||
"\t\t[141, [\"gp\", \"(array int16)\"]],\n"
|
||||
"\t\t[161, [\"gp\", \"(array uint16)\"]],\n"
|
||||
"\t\t[186, [\"gp\", \"(array uint128)\"]],\n"
|
||||
"\t\t[204, [\"gp\", \"(array int32)\"]],\n"
|
||||
"\t\t[223, [\"gp\", \"(array float)\"]],\n"
|
||||
"\t\t[232, [\"gp\", \"(array float)\"]],\n"
|
||||
"\t\t[249, [\"gp\", \"(array basic)\"]],\n"
|
||||
"\t\t[258, [\"gp\", \"(array basic)\"]]]"));
|
||||
parse_cast_json("["
|
||||
"\t\t[23, \"gp\", \"(array int32)\"],\n"
|
||||
"\t\t[43, \"gp\", \"(array uint32)\"],\n"
|
||||
"\t\t[63, \"gp\", \"(array int64)\"],\n"
|
||||
"\t\t[83, \"gp\", \"(array uint64)\"],\n"
|
||||
"\t\t[102, \"gp\", \"(array int8)\"],\n"
|
||||
"\t\t[121, \"gp\", \"(array uint8)\"],\n"
|
||||
"\t\t[141, \"gp\", \"(array int16)\"],\n"
|
||||
"\t\t[161, \"gp\", \"(array uint16)\"],\n"
|
||||
"\t\t[186, \"gp\", \"(array uint128)\"],\n"
|
||||
"\t\t[204, \"gp\", \"(array int32)\"],\n"
|
||||
"\t\t[223, \"gp\", \"(array float)\"],\n"
|
||||
"\t\t[232, \"gp\", \"(array float)\"],\n"
|
||||
"\t\t[249, \"gp\", \"(array basic)\"],\n"
|
||||
"\t\t[258, \"gp\", \"(array basic)\"]]"));
|
||||
}
|
||||
|
||||
TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
@@ -1238,7 +1238,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
" (else\n"
|
||||
" (dotimes\n"
|
||||
" (s5-9 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-9 (-> arg0 s5-9))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-9 (-> (the-as (array int32) arg0) s5-9))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
@@ -1272,18 +1272,18 @@ TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
{"L327", "~T [~D] #x~X~%"},
|
||||
{"L326", "~T [~D] ~f~%"},
|
||||
{"L325", "~T [~D] ~A~%"}},
|
||||
parse_hint_json("[\t\t[44, [\"gp\", \"(array int32)\"]],\n"
|
||||
"\t\t[62, [\"gp\", \"(array uint32)\"]],\n"
|
||||
"\t\t[80, [\"gp\", \"(array int64)\"]],\n"
|
||||
"\t\t[98, [\"gp\", \"(array uint64)\"]],\n"
|
||||
"\t\t[115, [\"gp\", \"(array int8)\"]],\n"
|
||||
"\t\t[132, [\"gp\", \"(array int8)\"]],\n"
|
||||
"\t\t[150, [\"gp\", \"(array int16)\"]],\n"
|
||||
"\t\t[168, [\"gp\", \"(array uint16)\"]],\n"
|
||||
"\t\t[191, [\"gp\", \"(array uint128)\"]],\n"
|
||||
"\t\t[204, [\"gp\", \"(array int32)\"]],\n"
|
||||
"\t\t[226, [\"gp\", \"(array float)\"]],\n"
|
||||
"\t\t[243, [\"gp\", \"(array basic)\"]]]"));
|
||||
parse_cast_json("[\t\t[44, \"gp\", \"(array int32)\"],\n"
|
||||
"\t\t[62, \"gp\", \"(array uint32)\"],\n"
|
||||
"\t\t[80, \"gp\", \"(array int64)\"],\n"
|
||||
"\t\t[98, \"gp\", \"(array uint64)\"],\n"
|
||||
"\t\t[115, \"gp\", \"(array int8)\"],\n"
|
||||
"\t\t[132, \"gp\", \"(array int8)\"],\n"
|
||||
"\t\t[150, \"gp\", \"(array int16)\"],\n"
|
||||
"\t\t[168, \"gp\", \"(array uint16)\"],\n"
|
||||
"\t\t[191, \"gp\", \"(array uint128)\"],\n"
|
||||
"\t\t[207, \"gp\", \"(array int32)\"],\n"
|
||||
"\t\t[226, \"gp\", \"(array float)\"],\n"
|
||||
"\t\t[243, \"gp\", \"(array basic)\"]]"));
|
||||
}
|
||||
|
||||
TEST_F(FormRegressionTest, ExprValid) {
|
||||
@@ -2387,7 +2387,7 @@ TEST_F(FormRegressionTest, ExprStringToInt) {
|
||||
" (>= (the-as uint 70) (-> a0-3 0))\n"
|
||||
" )\n"
|
||||
" (set! v0-0 (+ (+ (-> a0-3 0) -55) (the-as uint (shl v0-0 4))))\n"
|
||||
" (let ((a1-14 v0-0)))\n"
|
||||
" (let ((a1-14 (the-as uint v0-0))))\n"
|
||||
" )\n"
|
||||
" (else\n"
|
||||
" (cond\n"
|
||||
@@ -2396,11 +2396,11 @@ TEST_F(FormRegressionTest, ExprStringToInt) {
|
||||
" (>= (the-as uint 102) (-> a0-3 0))\n"
|
||||
" )\n"
|
||||
" (set! v0-0 (+ (+ (-> a0-3 0) -87) (the-as uint (shl v0-0 4))))\n"
|
||||
" (let ((a1-20 v0-0)))\n"
|
||||
" (let ((a1-20 (the-as uint v0-0))))\n"
|
||||
" )\n"
|
||||
" (else\n"
|
||||
" (set! v0-0 (+ (+ (-> a0-3 0) -48) (the-as uint (shl v0-0 4))))\n"
|
||||
" (let ((a1-23 v0-0)))\n"
|
||||
" (let ((a1-23 (the-as uint v0-0))))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
|
||||
Reference in New Issue
Block a user