public class TestMutualRecursionWithField3 { a; id(b) { var c = b; return main(b,c); } setA(x) { a = x; return a; } m(x,y) { x = id(y); return x; } main(x,y) { var z = m(setA(x),id(y)); return z; } }