Browse Source

* write pretty symbol name of a generic is not found during specialization

florian 1 year ago
parent
commit
589fb20386
1 changed files with 3 additions and 2 deletions
  1. 3 2
      compiler/pgenutil.pas

+ 3 - 2
compiler/pgenutil.pas

@@ -1366,7 +1366,7 @@ uses
         err : boolean;
         err : boolean;
         i,
         i,
         gencount : longint;
         gencount : longint;
-        countstr,genname,ugenname : string;
+        countstr,genname,ugenname,prettygenname: string;
         tmpstack : tfpobjectlist;
         tmpstack : tfpobjectlist;
         symowner : tsymtable;
         symowner : tsymtable;
         hmodule : tmodule;
         hmodule : tmodule;
@@ -1477,6 +1477,7 @@ uses
         countstr:='';
         countstr:='';
         str(context.paramlist.Count,countstr);
         str(context.paramlist.Count,countstr);
 
 
+        prettygenname:=genname;
         genname:=genname+'$'+countstr;
         genname:=genname+'$'+countstr;
         ugenname:=upper(genname);
         ugenname:=upper(genname);
 
 
@@ -1534,7 +1535,7 @@ uses
 
 
         if not found or not (context.sym.typ in [typesym,procsym]) then
         if not found or not (context.sym.typ in [typesym,procsym]) then
           begin
           begin
-            identifier_not_found(genname);
+            identifier_not_found(prettygenname);
             if not try_to_consume(_GT) then
             if not try_to_consume(_GT) then
               try_to_consume(_RSHARPBRACKET);
               try_to_consume(_RSHARPBRACKET);
             context.free;
             context.free;