MODULE TClassSibling; (* A method body calls a sibling method by its bare name; it is a call on THIS. Exit 7. *) VAR ExitCode : INTEGER; TYPE CLASS Acc; total : INTEGER; PROCEDURE Add(v : INTEGER); PROCEDURE AddTwice(a, b : INTEGER); PROCEDURE Get() : INTEGER; END Acc; CLASS IMPLEMENTATION Acc; PROCEDURE Add(v : INTEGER); BEGIN total := total + v END Add; PROCEDURE AddTwice(a, b : INTEGER); BEGIN Add(a); Add(b) END AddTwice; (* sibling calls *) PROCEDURE Get() : INTEGER; BEGIN RETURN total END Get; END Acc; VAR c : Acc; BEGIN c.AddTwice(3, 4); ExitCode := c.Get() END TClassSibling.