// zweic - test program for class typing // M. Ganguin, J. Ruffin 2005 // Class // Superclass typing class SuperClassTest extends unknown {} // 1/4 failure of clause 1 (incorrectly typed superclass) // Class scope typing class ClassSymbolTest {} class ClassSymbolTest {} // 2/4 failure of clause 2 (class already defined) // Class member typing class ClassMemberTest { Int x; // success RANDOM y; // 3/4 failure of clause 3 (incorrectly typed member) Null foo() { NONE; } // 4/4 failure of clause 3 (incorrectly typed member) Int bar() { Int a = 2; return a + 2 } // success } // Happy Day Scenario class WorkingClassTest { Int x; Null y; Null foo() { 2 + 2; } Int bar() { Int z = this.x + 2; return z } } // success { WorkingClassTest w = new WorkingClassTest(3, null); return w.bar() }