Quellcode durchsuchen

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

Sven/Sarah Barth vor 2 Jahren
Ursprung
Commit
35a57bac94
1 geänderte Dateien mit 9 neuen und 2 gelöschten Zeilen
  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);