var i: integer; type t1=class procedure p1(a:byte; b:word); begin i := 2; end; end; procedure p1(self:t1;c:single); extensionmethod; begin i := 3; end; begin var o: t1 := new t1; o.p1(2,3); assert(i = 2); o.p1(4); assert(i = 3); end.