(fn: FuncIR, errors: Sequence[tuple[ErrorSource, str]] = ())
| 446 | |
| 447 | |
| 448 | def format_func(fn: FuncIR, errors: Sequence[tuple[ErrorSource, str]] = ()) -> list[str]: |
| 449 | lines = [] |
| 450 | cls_prefix = fn.class_name + "." if fn.class_name else "" |
| 451 | lines.append( |
| 452 | "def {}{}({}):".format(cls_prefix, fn.name, ", ".join(arg.name for arg in fn.args)) |
| 453 | ) |
| 454 | names = generate_names_for_ir(fn.arg_regs, fn.blocks) |
| 455 | for line in format_registers(fn, names): |
| 456 | lines.append(" " + line) |
| 457 | |
| 458 | source_to_error = defaultdict(list) |
| 459 | for source, error in errors: |
| 460 | source_to_error[source].append(error) |
| 461 | |
| 462 | code = format_blocks(fn.blocks, names, source_to_error) |
| 463 | lines.extend(code) |
| 464 | return lines |
| 465 | |
| 466 | |
| 467 | def format_modules(modules: ModuleIRs) -> list[str]: |
searching dependent graphs…