(self)
| 1075 | ) |
| 1076 | |
| 1077 | def test_register(self) -> None: |
| 1078 | reg = Register(int_rprimitive) |
| 1079 | op = Assign(reg, Integer(5)) |
| 1080 | self.block.ops.append(op) |
| 1081 | self.block.ops.append(Unreachable()) |
| 1082 | fn = FuncIR( |
| 1083 | FuncDecl("myfunc", None, "mod", FuncSignature([self.arg], list_rprimitive)), |
| 1084 | [self.reg], |
| 1085 | [self.block], |
| 1086 | ) |
| 1087 | value_names = generate_names_for_ir(fn.arg_regs, fn.blocks) |
| 1088 | emitter = Emitter(EmitterContext(NameGenerator([["mod"]]), True), value_names) |
| 1089 | generate_native_function(fn, emitter, "prog.py", "prog") |
| 1090 | result = emitter.fragments |
| 1091 | assert_string_arrays_equal( |
| 1092 | [ |
| 1093 | "PyObject *CPyDef_myfunc(CPyTagged cpy_r_arg) {\n", |
| 1094 | " CPyTagged cpy_r_r0;\n", |
| 1095 | " cpy_r_r0 = 10;\n", |
| 1096 | " CPy_Unreachable();\n", |
| 1097 | "}\n", |
| 1098 | ], |
| 1099 | result, |
| 1100 | msg="Generated code invalid", |
| 1101 | ) |
nothing calls this directly
no test coverage detected