Browse Source

* generate the generic name for a specialization of a generic interface alias in the same way as for specializations in general

Sven/Sarah Barth 2 years ago
parent
commit
35a57bac94
1 changed files with 9 additions and 2 deletions
  1. 9 2
      compiler/pdecsub.pas

+ 9 - 2
compiler/pdecsub.pas

@@ -750,8 +750,15 @@ implementation
                 srsym:=generrorsym;
                 exit;
               end;
-            { ToDo: handle nested interfaces }
-            genname:=generate_generic_name(sp,specializename,'');
+
+            if not searchsym(sp,typesrsym,typesrsymtable) or (typesrsym.typ<>typesym) then
+              begin
+                identifier_not_found(sp);
+                srsym:=generrorsym;
+                exit;
+              end;
+
+            genname:=generate_generic_name(sp,specializename,ttypesym(typesrsym).typedef.ownerhierarchyname);
             ugenname:=upper(genname);
 
             srsym:=search_object_name(ugenname,false);