// Phase 192: Complex Addend Pattern Test // // Tests normalization of: result = result * 10 + methodCall() // Should transform to: local temp = methodCall(); result = result * 10 + temp // // Note: Using a simpler test without complex method calls inside the loop, // since Phase 186 (body-local init lowerer) only supports int/arithmetic operations. // // This test demonstrates the normalization pattern works, even though // we're using a simpler "pseudo-method-call" pattern here. static box Main { main() { local result = 0 local i = 1 loop(i < 4) { if i >= 4 { break } // Simpler pattern: use a simple variable instead of method call // In real code, this would be: result = result * 10 + digits.indexOf(ch) // But for this test, we use a simple addition to verify the normalization result = result * 10 + i i = i + 1 } return result // Expected: 123 (i=1: 0*10+1=1, i=2: 1*10+2=12, i=3: 12*10+3=123) } }