Browse Source

pastojs: delayed inits only for fully specialized types

git-svn-id: trunk@47665 -
Mattias Gaertner 4 years ago
parent
commit
1c1e994ffc
1 changed files with 3 additions and 0 deletions
  1. 3 0
      packages/pastojs/src/fppas2js.pp

+ 3 - 0
packages/pastojs/src/fppas2js.pp

@@ -5224,6 +5224,7 @@ begin
 
   El:=SpecializedItem.SpecializedEl;
   if (El is TPasGenericType)
+      and IsFullySpecialized(TPasGenericType(El))
       and (SpecializeParamsNeedDelay(SpecializedItem)<>nil) then
     TPas2JSResolverHub(Hub).AddJSDelaySpecialize(TPasGenericType(El));
 
@@ -17579,6 +17580,8 @@ var
   aResolver: TPas2JSResolver;
 begin
   if not IsElementUsed(El) then exit;
+  if not AContext.Resolver.IsFullySpecialized(El) then
+    RaiseNotSupported(El,AContext,20201202145045,'not fully specialized, probably a bug in the analyzer');
   if not SpecializeNeedsDelay(El,AContext) then exit;
   C:=El.ClassType;
   if (C=TPasRecordType)