--loop Class C inherits A { d:Int; }; Class A{ a:Int; b:Bool; --checking the predicate type m1(a:Int):Object{ while 1 loop a<-1 pool }; m2(a:Int):Object{ while self loop a<-1 pool }; m3(a:Bool, b:Int):Object{ while b loop b<-1 pool }; m4(a:Int):Object{ { while (4+2) loop a<-1 pool; while (a<-2) loop a<-1 pool ; while (4*2) loop a<-1 pool ; while (~(1)) loop a<-1 pool; while (~(4+2)) loop a<-1 pool; } }; --checking the return value m5(f:Int):A{ --invalid ret type. while (true) loop (new A) pool }; m6(f:Int):Int{ --invalid ret type. while (true) loop (new A) pool }; }; Class Main{ main():Int{ 1 }; };