(self, fn_info: FuncInfo | str = "", *, ret_type: RType = none_rprimitive)
| 1322 | return res |
| 1323 | |
| 1324 | def enter(self, fn_info: FuncInfo | str = "", *, ret_type: RType = none_rprimitive) -> None: |
| 1325 | if isinstance(fn_info, str): |
| 1326 | fn_info = FuncInfo(name=fn_info) |
| 1327 | self.builder = LowLevelIRBuilder(self.errors, self.options) |
| 1328 | self.builder.set_module(self.module_name, self.module_path) |
| 1329 | self.builders.append(self.builder) |
| 1330 | self.symtables.append({}) |
| 1331 | self.runtime_args.append([]) |
| 1332 | self.fn_info = fn_info |
| 1333 | self.fn_infos.append(self.fn_info) |
| 1334 | self.ret_types.append(ret_type) |
| 1335 | if fn_info.is_generator: |
| 1336 | self.nonlocal_control.append(GeneratorNonlocalControl()) |
| 1337 | else: |
| 1338 | self.nonlocal_control.append(BaseNonlocalControl()) |
| 1339 | self.activate_block(BasicBlock()) |
| 1340 | |
| 1341 | def leave(self) -> tuple[list[Register], list[RuntimeArg], list[BasicBlock], RType, FuncInfo]: |
| 1342 | builder = self.builders.pop() |
no test coverage detected