summaryrefslogtreecommitdiff
path: root/packages/pastojs
diff options
context:
space:
mode:
authormattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-02-17 11:40:50 +0000
committermattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-02-17 11:40:50 +0000
commitb7541c38246cd787a73cf3f8136217a8b103933b (patch)
tree6d65b7027a8735fb2b80f9c26c52b48d708ce87f /packages/pastojs
parent12e42353da8bfaf753ff79e3209a132061e8cdd8 (diff)
downloadfpc-b7541c38246cd787a73cf3f8136217a8b103933b.tar.gz
fcl-passrc: fixed alias type of member type
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@44202 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/pastojs')
-rw-r--r--packages/pastojs/tests/tcgenerics.pas23
1 files changed, 23 insertions, 0 deletions
diff --git a/packages/pastojs/tests/tcgenerics.pas b/packages/pastojs/tests/tcgenerics.pas
index bd44bc33f9..fec6370349 100644
--- a/packages/pastojs/tests/tcgenerics.pas
+++ b/packages/pastojs/tests/tcgenerics.pas
@@ -40,6 +40,7 @@ type
// generic external class
procedure TestGen_ExtClass_Array;
procedure TestGen_ExtClass_GenJSValueAssign;
+ procedure TestGen_ExtClass_AliasMemberType;
// statements
Procedure TestGen_InlineSpec_Constructor;
@@ -821,6 +822,28 @@ begin
CheckResolverUnexpectedHints();
end;
+procedure TTestGenerics.TestGen_ExtClass_AliasMemberType;
+begin
+ StartProgram(false);
+ Add([
+ '{$mode objfpc}',
+ '{$modeswitch externalclass}',
+ 'type',
+ ' generic TExt<T> = class external name ''Ext''',
+ ' public type TRun = reference to function(a: T): T;',
+ ' end;',
+ ' TExtWord = specialize TExt<word>;',
+ ' TExtWordRun = TExtWord.TRun;',
+ 'begin',
+ '']);
+ ConvertProgram;
+ CheckSource('TestGen_ExtClass_AliasMemberType',
+ LinesToStr([ // statements
+ '']),
+ LinesToStr([ // $mod.$main
+ '']));
+end;
+
procedure TTestGenerics.TestGen_InlineSpec_Constructor;
begin
StartProgram(false);