summaryrefslogtreecommitdiff
path: root/tests/test/tchlp49.pp
diff options
context:
space:
mode:
authorflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2011-04-16 14:01:44 +0000
committerflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2011-04-16 14:01:44 +0000
commit9a2e73ac44987d3542af3cd0b580adc9414aa471 (patch)
tree15d954001b4ed207881c00fb95f5e842b976a193 /tests/test/tchlp49.pp
parent0e881124534344e6de95340efecacd55879ef4b8 (diff)
downloadfpc-9a2e73ac44987d3542af3cd0b580adc9414aa471.tar.gz
* Merged helper branch made by Sven Barth
-- Zusammenführen der Unterschiede zwischen Projektarchiv-URLs in ».«: U rtl/inc/objc1.inc U rtl/inc/system.inc U rtl/objpas/typinfo.pp A tests/test/tchlp30.pp A tests/test/thlp35.pp A tests/test/tchlp3.pp A tests/test/thlp7.pp A tests/test/trhlp24.pp A tests/test/tchlp13.pp A tests/test/thlp44.pp A tests/test/thlp18.pp A tests/test/trhlp33.pp A tests/test/tchlp22.pp A tests/test/thlp27.pp A tests/test/trhlp16.pp A tests/test/tchlp31.pp A tests/test/thlp36.pp A tests/test/tchlp4.pp A tests/test/thlp8.pp A tests/test/trhlp25.pp A tests/test/trhlp1.pp A tests/test/uhlp41a.pp A tests/test/tchlp40.pp A tests/test/tchlp14.pp A tests/test/thlp19.pp A tests/test/trhlp34.pp U tests/test/ttpara1.pp A tests/test/tchlp23.pp A tests/test/thlp28.pp A tests/test/urhlp14.pp A tests/test/trhlp17.pp A tests/test/tchlp32.pp A tests/test/uhlp43.pp A tests/test/thlp37.pp A tests/test/tchlp5.pp A tests/test/thlp9.pp A tests/test/trhlp26.pp A tests/test/trhlp2.pp A tests/test/uchlp12.pp A tests/test/tchlp41.pp A tests/test/uhlp41b.pp A tests/test/tchlp15.pp A tests/test/trhlp35.pp U tests/test/ttpara2.pp A tests/test/tchlp50.pp A tests/test/tchlp24.pp A tests/test/thlp29.pp A tests/test/trhlp18.pp A tests/test/thlp10.pp U tests/test/cg/ttincdec.pp A tests/test/tchlp33.pp A tests/test/thlp38.pp A tests/test/tchlp6.pp A tests/test/trhlp27.pp A tests/test/trhlp3.pp A tests/test/tchlp42.pp A tests/test/tchlp16.pp A tests/test/trhlp36.pp A tests/test/tchlp51.pp A tests/test/tchlp25.pp A tests/test/trhlp19.pp A tests/test/thlp11.pp A tests/test/tchlp34.pp A tests/test/thlp39.pp A tests/test/tchlp7.pp A tests/test/trhlp28.pp A tests/test/thlp20.pp A tests/test/trhlp4.pp A tests/test/tchlp43.pp A tests/test/tchlp17.pp A tests/test/trhlp37.pp A tests/test/tchlp52.pp A tests/test/tchlp26.pp A tests/test/thlp1.pp A tests/test/urhlp17.pp A tests/test/thlp12.pp A tests/test/tchlp35.pp A tests/test/tchlp8.pp A tests/test/trhlp29.pp A tests/test/thlp21.pp A tests/test/trhlp5.pp A tests/test/tchlp44.pp A tests/test/tchlp18.pp A tests/test/trhlp10.pp A tests/test/trhlp38.pp A tests/test/thlp30.pp A tests/test/tchlp53.pp A tests/test/tchlp27.pp A tests/test/thlp2.pp A tests/test/thlp13.pp A tests/test/tchlp36.pp A tests/test/tchlp9.pp A tests/test/thlp22.pp A tests/test/trhlp6.pp A tests/test/tchlp45.pp A tests/test/tchlp19.pp A tests/test/trhlp11.pp A tests/test/trhlp39.pp A tests/test/thlp31.pp A tests/test/tchlp54.pp A tests/test/tchlp28.pp A tests/test/uhlp39.pp A tests/test/thlp3.pp A tests/test/trhlp20.pp A tests/test/thlp40.pp A tests/test/thlp14.pp A tests/test/tchlp37.pp A tests/test/thlp23.pp A tests/test/trhlp7.pp A tests/test/tchlp46.pp A tests/test/trhlp12.pp A tests/test/thlp32.pp A tests/test/tchlp29.pp A tests/test/thlp4.pp A tests/test/trhlp21.pp A tests/test/tchlp10.pp A tests/test/thlp41.pp A tests/test/thlp15.pp A tests/test/tchlp38.pp U tests/test/trtti1.pp A tests/test/trhlp30.pp A tests/test/thlp24.pp A tests/test/trhlp8.pp A tests/test/uchlp18.pp A tests/test/tchlp47.pp A tests/test/trhlp13.pp A tests/test/thlp33.pp A tests/test/tchlp1.pp A tests/test/thlp5.pp A tests/test/trhlp22.pp A tests/test/tchlp11.pp A tests/test/thlp42.pp A tests/test/thlp16.pp A tests/test/tchlp39.pp A tests/test/uhlp3.pp A tests/test/trhlp31.pp A tests/test/tchlp20.pp A tests/test/uhlp31.pp A tests/test/thlp25.pp A tests/test/trhlp9.pp A tests/test/tchlp48.pp A tests/test/trhlp40.pp A tests/test/trhlp14.pp A tests/test/thlp34.pp A tests/test/tchlp2.pp A tests/test/thlp6.pp A tests/test/trhlp23.pp A tests/test/tchlp12.pp A tests/test/thlp43.pp A tests/test/thlp17.pp A tests/test/trhlp32.pp A tests/test/tchlp21.pp A tests/test/thlp26.pp A tests/test/tchlp49.pp A tests/test/trhlp41.pp A tests/test/trhlp15.pp U tests/webtbf/tw13815.pp U tests/tbf/tb0216.pp U compiler/msgtxt.inc U compiler/nld.pas U compiler/dbgdwarf.pas U compiler/sparc/cgcpu.pas U compiler/fmodule.pas U compiler/i386/cgcpu.pas U compiler/msgidx.inc U compiler/pdecsub.pas U compiler/ncgld.pas U compiler/symdef.pas U compiler/nobj.pas U compiler/nflw.pas U compiler/pdecobj.pas U compiler/objcdef.pas U compiler/pinline.pas U compiler/pexpr.pas U compiler/ncgrtti.pas U compiler/x86_64/cgcpu.pas U compiler/htypechk.pas U compiler/parser.pas U compiler/tokens.pas U compiler/symbase.pas U compiler/ncal.pas U compiler/symtable.pas U compiler/pp.lpi U compiler/m68k/cgcpu.pas U compiler/ppu.pas U compiler/rautils.pas U compiler/arm/cgcpu.pas U compiler/ptype.pas U compiler/symconst.pas U compiler/mips/cgcpu.pas U compiler/msg/errore.msg U compiler/psub.pas U compiler/utils/ppudump.pp U compiler/utils U compiler/pdecvar.pas U compiler/ncgcal.pas U compiler/pdecl.pas U compiler/dbgstabs.pas U compiler/ppcgen/cgppc.pas U packages/fcl-xml/tests/README_DOM.txt U packages/unzip/src/unzip51g.pp U packages/winunits-base/src/dwmapi.pp U . git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@17328 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'tests/test/tchlp49.pp')
-rw-r--r--tests/test/tchlp49.pp46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/test/tchlp49.pp b/tests/test/tchlp49.pp
new file mode 100644
index 0000000000..bd3b3fb80f
--- /dev/null
+++ b/tests/test/tchlp49.pp
@@ -0,0 +1,46 @@
+{ a class helper can access methods defined in the parent of the extended
+ class }
+program tchlp49;
+
+{$ifdef fpc}
+ {$mode delphi}
+{$endif}
+{$apptype console}
+
+type
+ TTest = class
+ function Test(aRecurse: Boolean): Integer;
+ end;
+
+ TTestSub = class(TTest)
+ end;
+
+ TTestSubHelper = class helper for TTestSub
+ function Test(aRecurse: Boolean): Integer;
+ end;
+
+function TTest.Test(aRecurse: Boolean): Integer;
+begin
+ Result := 1;
+end;
+
+function TTestSubHelper.Test(aRecurse: Boolean): Integer;
+begin
+ if aRecurse then
+ Result := inherited Test(False)
+ else
+ Result := 2;
+end;
+
+var
+ t: TTestSub;
+ res: Integer;
+begin
+ t := TTestSub.Create;
+ res := t.Test(True);
+ Writeln('t.Test: ', res);
+ if res <> 1 then
+ Halt(1);
+ Writeln('ok');
+end.
+