fpc/tests/test/tchlp24.pp
svenbarth 553d357d64 Completely restructured the test for the helper feature. The tests were split into three categories:
* general tests for the helper feature (thlp*)
* tests for class helpers (tchlp*)
* tests for record helpers (trhlp*)

With my current yet-to-be-commited implementation nearly all tests pass, but some fail because of missing FPC features:
* thlp30.pp currently fails because of generic constraints, but should fail despite the constraints
* thlp29.pp fails, because generic methods are not yet supported
* trhlp8.pp, trhlp9.pp, trhlp10.pp fail, because one can't use default properties using the abbreviated syntax
* trhlp17.pp, trhlp18.pp, trhlp19.pp fail, because nested types are not supported for records

git-svn-id: branches/svenbarth/classhelpers@17237 -
2011-04-03 13:33:23 +00:00

43 lines
657 B
ObjectPascal

{ published methods of class helpers are not accessible through the extended
class' RTTI }
program tchlp24;
{$ifdef fpc}
{$mode delphi}
{$endif}
{$apptype console}
type
{$M+}
TTest = class
end;
{$M-}
{$M+}
TTestHelper = class helper for TTest
published
function Test: Integer;
end;
{$M-}
function TTestHelper.Test: Integer;
begin
Result := 1;
end;
var
f: TTest;
res: Pointer;
begin
f := TTest.Create;
res := f.MethodAddress('Test');
{$ifdef fpc}
Writeln('Address of TTest.Test: ', PtrInt(res));
{$else}
Writeln('Address of TTest.Test: ', NativeInt(res));
{$endif}
if res <> Nil then
Halt(1);
Writeln('ok');
end.