浏览代码

+ new tprocnameoption pno_noparams to prohibit tprocdef.customprocname() from adding the procdef's parameters

git-svn-id: trunk@35008 -
svenbarth 8 年之前
父节点
当前提交
930070a8ca
共有 1 个文件被更改,包括 7 次插入3 次删除
  1. 7 3
      compiler/symdef.pas

+ 7 - 3
compiler/symdef.pas

@@ -583,7 +583,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_mangledname, pno_noparams);
        tprocnameoptions = set of tprocnameoption;
        tprocnameoptions = set of tprocnameoption;
        tproccopytyp = (pc_normal,
        tproccopytyp = (pc_normal,
                        { always creates a top-level function, removes all
                        { always creates a top-level function, removes all
@@ -5756,7 +5756,9 @@ implementation
                   if (pno_ownername in pno) and
                   if (pno_ownername in pno) and
                      assigned(struct) then
                      assigned(struct) then
                     s:=s+struct.RttiName+'.';
                     s:=s+struct.RttiName+'.';
-                  s:=s+arraytokeninfo[t].str+typename_paras(pno);
+                  s:=s+arraytokeninfo[t].str;
+                  if not (pno_noparams in pno) then
+                    s:=s+typename_paras(pno);
                   break;
                   break;
                 end;
                 end;
           end
           end
@@ -5797,7 +5799,9 @@ implementation
             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);
-            s:=s+rn+typename_paras(pno);
+            s:=s+rn;
+            if not (pno_noparams in pno) then
+              s:=s+typename_paras(pno);
           end;
           end;
         if not(proctypeoption in [potype_constructor,potype_destructor,
         if not(proctypeoption in [potype_constructor,potype_destructor,
              potype_class_constructor,potype_class_destructor]) and
              potype_class_constructor,potype_class_destructor]) and