diff options
author | mattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2020-02-17 11:40:50 +0000 |
---|---|---|
committer | mattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2020-02-17 11:40:50 +0000 |
commit | b7541c38246cd787a73cf3f8136217a8b103933b (patch) | |
tree | 6d65b7027a8735fb2b80f9c26c52b48d708ce87f /packages/pastojs | |
parent | 12e42353da8bfaf753ff79e3209a132061e8cdd8 (diff) | |
download | fpc-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.pas | 23 |
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); |