fpc/tests/tbs/tb0356.pp
Jonas Maebe c6733ed9a5 * disallow placing fields after method/property definitions, because this
can create ambiguities for the parser in case the field names also exist
    as modifiers (TP- and Delphi-compatible, mantis #13971) + tests
  * fixed tests that broke because of this change

git-svn-id: trunk@13334 -
2009-06-27 12:59:46 +00:00

28 lines
577 B
ObjectPascal

{$mode objfpc}
type
tc = class
left,right: tc;
function test(var c: tc): boolean;
end;
testfunc = function(var c: tc):boolean of object;
function foreach(var c: tc; p: testfunc): boolean;
begin
if not assigned(c) then
exit;
end;
function tc.test(var c: tc): boolean;
begin
{ if you use @test, the compiler tries to get the address of the }
{ function result instead of the address of the method (JM) }
result := foreach(c.left,@self.test);
result := foreach(c.right,@self.test) or result;
end;
begin
end.