--loop Class C inherits A { d:Int; }; Class A{ a:Int; b:Bool; --checking the predicate type m1(a:Int):Object{ while true loop a<-1 pool }; m2(a:Int):Object{ while false loop a<-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 (not(true)) loop a<-1 pool; while (not(4<2)) loop a<-1 pool; } }; --checking the return value m5(f:Int):Object{ --valid ret type. while (true) loop (new A) pool }; m6(f:Int):Object{ --valid ret type. while (true) loop (new A) pool }; }; Class Main{ main():Int{ 1 }; };