{ "capabilities": [ "unified_call", "phi", "effects", "callee_typing" ], "cfg": { "functions": [ { "blocks": [ { "id": 0, "reachable": false, "successors": [], "terminator": "Return" } ], "entry_block": 0, "name": "condition_fn" }, { "blocks": [ { "id": 12, "reachable": false, "successors": [], "terminator": "Return" } ], "entry_block": 12, "name": "Main.equals/1" }, { "blocks": [ { "id": 7, "reachable": false, "successors": [ 8, 9 ], "terminator": "Branch" }, { "id": 8, "reachable": false, "successors": [ 10 ], "terminator": "Jump" }, { "id": 9, "reachable": false, "successors": [ 10 ], "terminator": "Jump" }, { "id": 10, "reachable": false, "successors": [], "terminator": "Return" } ], "entry_block": 7, "name": "Main.main/0" }, { "blocks": [ { "id": 0, "reachable": false, "successors": [], "terminator": "Return" } ], "entry_block": 0, "name": "main" }, { "blocks": [ { "id": 11, "reachable": false, "successors": [], "terminator": "Return" } ], "entry_block": 11, "name": "Main.toString/0" } ] }, "functions": [ { "blocks": [ { "id": 0, "instructions": [ { "dst": 1, "op": "const", "value": { "type": "i64", "value": 1 } }, { "op": "ret", "value": 1 } ] } ], "name": "condition_fn", "params": [ 0 ] }, { "blocks": [ { "id": 12, "instructions": [ { "dst": 3, "op": "const", "value": { "type": "i64", "value": 1 } }, { "op": "ret", "value": 3 } ] } ], "name": "Main.equals/1", "params": [ 0, 1, 2 ] }, { "blocks": [ { "id": 7, "instructions": [ { "dst": 6, "op": "copy", "src": 3 }, { "dst": 9, "op": "copy", "src": 6 }, { "dst": 10, "op": "copy", "src": 7 }, { "dst": 12, "op": "copy", "src": 11 }, { "dst": 2, "op": "const", "value": { "type": "i64", "value": 5 } }, { "dst": 5, "op": "const", "value": { "type": "i64", "value": 3 } }, { "dst": 6, "op": "copy", "src": 3 }, { "dst": 9, "op": "copy", "src": 6 }, { "dst": 10, "op": "copy", "src": 7 }, { "dst": 8, "lhs": 9, "op": "compare", "operation": ">", "rhs": 10 }, { "dst": 12, "op": "copy", "src": 11 }, { "dst": 3, "op": "copy", "src": 2 }, { "dst": 7, "op": "copy", "src": 5 }, { "dst": 11, "op": "copy", "src": 8 }, { "cond": 12, "else": 9, "op": "branch", "then": 8 } ] }, { "id": 8, "instructions": [ { "dst": 18, "op": "const", "value": { "type": "i64", "value": 10 } }, { "op": "jump", "target": 10 } ] }, { "id": 9, "instructions": [ { "dst": 24, "op": "const", "value": { "type": "i64", "value": 20 } }, { "op": "jump", "target": 10 } ] }, { "id": 10, "instructions": [ { "dst": 30, "incoming": [ [ 18, 8 ], [ 24, 9 ] ], "op": "phi" }, { "dst": null, "mir_call": { "args": [ 31 ], "callee": { "name": "print", "type": "Global" }, "effects": [ "IO" ], "flags": {} }, "op": "mir_call" }, { "dst": 32, "op": "const", "value": { "type": "void", "value": 0 } }, { "dst": 31, "op": "copy", "src": 30 }, { "op": "ret", "value": 32 } ] } ], "name": "Main.main/0", "params": [ 0, 1 ] }, { "blocks": [ { "id": 0, "instructions": [ { "dst": 9, "op": "const", "value": { "type": "void", "value": 0 } }, { "op": "ret", "value": 9 } ] } ], "name": "main", "params": [] }, { "blocks": [ { "id": 11, "instructions": [ { "dst": 2, "op": "const", "value": { "type": { "box_type": "StringBox", "kind": "handle" }, "value": "Main(" } }, { "dst": 3, "op": "const", "value": { "type": { "box_type": "StringBox", "kind": "handle" }, "value": ")" } }, { "dst": 6, "lhs": 4, "op": "binop", "operation": "+", "rhs": 5 }, { "dst": 4, "op": "copy", "src": 2 }, { "dst": 5, "op": "copy", "src": 3 }, { "op": "ret", "value": 6 } ] } ], "name": "Main.toString/0", "params": [ 0, 1 ] } ], "metadata": { "build_time": "Phase 15.5 Development", "features": [ "mir_call_unification", "json_v1_schema" ], "generator": "nyash-rust", "phase": "15.5" }, "schema_version": "1.0" }