diff options
author | mattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2020-02-20 09:29:10 +0000 |
---|---|---|
committer | mattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2020-02-20 09:29:10 +0000 |
commit | 4200de9765cff3998ea4c9ceb4d404ce98f1b1b8 (patch) | |
tree | 2f74fe20f4fc1c1b2ad2fb751b7066d5b4c1b18f /packages/fcl-passrc/tests/tcresolvegenerics.pas | |
parent | f3ce9a23c79538c7407badfae61c6e34fa9eef3c (diff) | |
download | fpc-4200de9765cff3998ea4c9ceb4d404ce98f1b1b8.tar.gz |
pas2js: not storing specialized elements
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@44219 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fcl-passrc/tests/tcresolvegenerics.pas')
-rw-r--r-- | packages/fcl-passrc/tests/tcresolvegenerics.pas | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/packages/fcl-passrc/tests/tcresolvegenerics.pas b/packages/fcl-passrc/tests/tcresolvegenerics.pas index 07e453e28a..1e27b74087 100644 --- a/packages/fcl-passrc/tests/tcresolvegenerics.pas +++ b/packages/fcl-passrc/tests/tcresolvegenerics.pas @@ -172,7 +172,8 @@ type procedure TestGenMethod_TemplNameDifferFail; procedure TestGenMethod_ImplConstraintFail; procedure TestGenMethod_NestedSelf; - procedure TestGenMethod_OverloadTypeParamCnt; + procedure TestGenMethod_OverloadTypeParamCntObjFPC; + procedure TestGenMethod_OverloadTypeParamCntDelphi; procedure TestGenMethod_OverloadArgs; end; @@ -2628,7 +2629,7 @@ begin ParseProgram; end; -procedure TTestResolveGenerics.TestGenMethod_OverloadTypeParamCnt; +procedure TTestResolveGenerics.TestGenMethod_OverloadTypeParamCntObjFPC; begin StartProgram(false); Add([ @@ -2653,6 +2654,32 @@ begin ParseProgram; end; +procedure TTestResolveGenerics.TestGenMethod_OverloadTypeParamCntDelphi; +begin + StartProgram(false); + Add([ + '{$mode delphi}', + 'type', + ' TObject = class', + ' procedure {#A}Run<T>(a: T); overload;', + ' procedure {#B}Run<M,N>(a: M); overload;', + ' end;', + 'procedure TObject.Run<T>(a: T);', + 'begin', + 'end;', + 'procedure TObject.Run<M,N>(a: M);', + 'begin', + ' {@A}Run<M>(a);', + ' {@B}Run<double,char>(1.3);', + 'end;', + 'var obj: TObject;', + 'begin', + ' obj.{@A}Run<word>(3);', + ' obj.{@B}Run<word,char>(4);', + '']); + ParseProgram; +end; + procedure TTestResolveGenerics.TestGenMethod_OverloadArgs; begin StartProgram(false); |