// Call class foo { Int y; } class bar { Int h; } class bof extends bar {} class baz { Int x; Null works(Int a, bar c) {} Null foo() { bof b = new bof(1); foo h = new foo(1); baz z = new baz(1); k.foo(); // 1/4 failure of clauses 1 and 2 (nonexistent ident) h.gneuh(); // 2/4 failure of clause 3 (nonexistent method) z.works(1); // 3/4 failure of clause 3 (wrong number of arguments) z.works(1, h); // 4/4 failure of clause 4 (parameter not subtype of bof) z.works(2, b); // success } } 1