Browse Source

* Fix FItems: ^TArray<A>;

git-svn-id: trunk@47501 -
michael 4 years ago
parent
commit
988cd7235c
2 changed files with 9 additions and 1 deletions
  1. 8 1
      packages/fcl-passrc/src/pparser.pp
  2. 1 0
      packages/fcl-passrc/tests/tcgenerics.pp

+ 8 - 1
packages/fcl-passrc/src/pparser.pp

@@ -1798,7 +1798,14 @@ begin
       else
         break;
     until false;
-    UngetToken;
+    if CurToken=tkLessThan then
+      begin
+      Repeat
+        NextToken; // We should do something with this.
+      Until CurToken=tkGreaterThan;
+      end
+    else
+      UngetToken;
     Result.DestType:=ResolveTypeReference(Name,Result);
     Engine.FinishScope(stTypeDef,Result);
     ok:=true;

+ 1 - 0
packages/fcl-passrc/tests/tcgenerics.pp

@@ -109,6 +109,7 @@ begin
   Source.Add('  TSomeClass<T,T2> = Class(TObject)');
   Source.Add('    b : T;');
   Source.Add('    b2 : T2;');
+  Source.Add('    FItems: ^TArray<T>;');
   Source.Add('  end;');
   ParseDeclarations;
   AssertNotNull('have generic definition',Declarations.Classes);