Browse Source

* some error messages use nicer symbol names

florian 2 years ago
parent
commit
8f3cce556d
3 changed files with 11 additions and 6 deletions
  1. 2 2
      compiler/ncal.pas
  2. 8 3
      compiler/symdef.pas
  3. 1 1
      compiler/symtype.pas

+ 2 - 2
compiler/ncal.pas

@@ -3397,7 +3397,7 @@ implementation
             pd:=tprocdef(AbstractMethodsList[i]);
             pd:=tprocdef(AbstractMethodsList[i]);
             if po_abstractmethod in pd.procoptions then
             if po_abstractmethod in pd.procoptions then
               begin
               begin
-                Message2(type_w_instance_with_abstract,objectdf.objrealname^,pd.procsym.RealName);
+                Message2(type_w_instance_with_abstract,objectdf.typesymbolprettyname,pd.customprocname([pno_proctypeoption, pno_paranames,pno_ownername, pno_noclassmarker, pno_prettynames]));
                 MessagePos1(pd.fileinfo,sym_h_abstract_method_list,pd.fullprocname(true));
                 MessagePos1(pd.fileinfo,sym_h_abstract_method_list,pd.fullprocname(true));
               end;
               end;
           end;
           end;
@@ -4608,7 +4608,7 @@ implementation
                   (procdefinition.typ=procdef) and
                   (procdefinition.typ=procdef) and
                   not (pio_inline_not_possible in tprocdef(procdefinition).implprocoptions) then
                   not (pio_inline_not_possible in tprocdef(procdefinition).implprocoptions) then
                  begin
                  begin
-                   Message1(cg_n_no_inline,tprocdef(procdefinition).customprocname([pno_proctypeoption, pno_paranames,pno_ownername, pno_noclassmarker]));
+                   Message1(cg_n_no_inline,tprocdef(procdefinition).customprocname([pno_proctypeoption, pno_paranames,pno_ownername, pno_noclassmarker, pno_prettynames]));
                  end;
                  end;
                mark_unregable_parameters;
                mark_unregable_parameters;
                result:=pass1_normal;
                result:=pass1_normal;

+ 8 - 3
compiler/symdef.pas

@@ -658,7 +658,7 @@ interface
 
 
        tprocnameoption = (pno_showhidden, pno_proctypeoption, pno_paranames,
        tprocnameoption = (pno_showhidden, pno_proctypeoption, pno_paranames,
          pno_ownername, pno_noclassmarker, pno_noleadingdollar,
          pno_ownername, pno_noclassmarker, pno_noleadingdollar,
-         pno_mangledname, pno_noparams);
+         pno_mangledname, pno_noparams, pno_prettynames);
        tprocnameoptions = set of tprocnameoption;
        tprocnameoptions = set of tprocnameoption;
        tproccopytyp = (pc_normal,
        tproccopytyp = (pc_normal,
 {$ifdef i8086}
 {$ifdef i8086}
@@ -6853,8 +6853,10 @@ implementation
                 else
                 else
                   s:=s+'procedure';
                   s:=s+'procedure';
               end
               end
+            else if pno_prettynames in pno then
+              rn:=procsym.prettyname
             else
             else
-              rn:=procsym.realname;
+              rn:=procsym.RealName;
             if (pno_noleadingdollar in pno) and
             if (pno_noleadingdollar in pno) and
                (rn[1]='$') then
                (rn[1]='$') then
               delete(rn,1,1);
               delete(rn,1,1);
@@ -6874,7 +6876,10 @@ implementation
                   s:=s+':'+module.realmodulename^+'.'
                   s:=s+':'+module.realmodulename^+'.'
                 else
                 else
 	          s:=s+':';
 	          s:=s+':';
-                hs:=returndef.typesym.realname;
+                if pno_prettynames in pno then
+                  hs:=returndef.typesym.prettyname
+                else
+                  hs:=returndef.typesym.realname;
                 if hs[1]<>'$' then
                 if hs[1]<>'$' then
                   s:=s+returndef.OwnerHierarchyName+hs
                   s:=s+returndef.OwnerHierarchyName+hs
                 else
                 else

+ 1 - 1
compiler/symtype.pas

@@ -438,7 +438,7 @@ implementation
         if assigned(typesym) then
         if assigned(typesym) then
           result:=result+typesym.prettyname
           result:=result+typesym.prettyname
         else
         else
-          result:=result+'<no type symbol>'
+          result:=result+'<no type symbol>';
       end;
       end;