// Minimal MIR JSON for testing (simplified from actual rep1)
local mir_json = '{"capabilities":["unified_call","phi","effects","callee_typing"],"functions":[{"name":"Main.main/0","params":[],"entry":7,"blocks":[{"id":7,"instructions":[{"op":"const","dst":2,"value":{"type":"i64","value":5}},{"op":"const","dst":5,"value":{"type":"i64","value":3}},{"op":"compare","operation":">","lhs":9,"rhs":10,"dst":8},{"op":"branch","cond":12,"then":8,"else":9}]},{"id":8,"instructions":[{"op":"const","dst":18,"value":{"type":"i64","value":10}},{"op":"jump","target":10}]},{"id":9,"instructions":[{"op":"const","dst":24,"value":{"type":"i64","value":20}},{"op":"jump","target":10}]},{"id":10,"instructions":[{"op":"phi","dst":30,"incoming":[[18,8],[24,9]]},{"op":"ret","value":32}]}]}]}'
// Parse and analyze
print("")
print("Step 1: Creating MirAnalyzerBox...")
local analyzer = new MirAnalyzerBox(mir_json)
if analyzer == null {
print("FAIL: Failed to create analyzer")
return 1
}
print("SUCCESS: MirAnalyzerBox created")
// Test 1: Validate schema
print("")
print("Step 2: Validating schema...")
local valid = analyzer.validateSchema()
if valid == 1 {
print("SUCCESS: Schema is valid")
} else {
print("FAIL: Schema validation failed")
return 1
}
// Test 2: Summarize function
print("")
print("Step 3: Summarizing function 0...")
local summary = analyzer.summarize_function(0)
if summary == null {
print("FAIL: summarize_function returned null")
return 1
}
local name = summary.get("name")
local blocks = summary.get("block_count")
local instructions = summary.get("instruction_count")