(* Complex Let *) Class C { x : Int; y : String <- "hello"; z : Bool <- false; getSelf() : SELF_TYPE { self }; multiplyX( a : Int ) : Int { x * a }; getInt() : Int { x }; setInt( newX : Int ) : Int { x <- newX }; getString() : String { y }; getBool() : Bool { z }; }; Class Main inherits IO { i : Int; j : Int; main(): Object { { i <- 5; j <- 13; ( let a : Bool <- tRUE in ( let b:Int<-5, c: C <- new C in { c.setInt( b ); if a then { out_string("True\n"); out_int( c.getInt() ); out_string("\n"); } else { out_string("False\n"); out_int( c.getInt() ); out_string("\n"); } fi; } ) ); } }; };