浏览代码

* include parameter types for checking abstract calls

git-svn-id: trunk@5911 -
peter 18 年之前
父节点
当前提交
d2c8e7429e
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      compiler/ncal.pas

+ 4 - 2
compiler/ncal.pas

@@ -1359,17 +1359,19 @@ implementation
         pd : tprocdef;
         pd : tprocdef;
         i  : longint;
         i  : longint;
         j  : integer;
         j  : integer;
+        hs : string;
       begin
       begin
         if (tsym(sym).typ<>procsym) then
         if (tsym(sym).typ<>procsym) then
           exit;
           exit;
         for i:=0 to tprocsym(sym).ProcdefList.Count-1 do
         for i:=0 to tprocsym(sym).ProcdefList.Count-1 do
           begin
           begin
             pd:=tprocdef(tprocsym(sym).ProcdefList[i]);
             pd:=tprocdef(tprocsym(sym).ProcdefList[i]);
-            j:=AbstractMethodsList.FindIndexOf(pd.procsym.name);
+            hs:=pd.procsym.name+pd.typename_paras(false);
+            j:=AbstractMethodsList.FindIndexOf(hs);
             if j<>-1 then
             if j<>-1 then
               AbstractMethodsList[j]:=pd
               AbstractMethodsList[j]:=pd
             else
             else
-              AbstractMethodsList.Add(pd.procsym.name,pd);
+              AbstractMethodsList.Add(hs,pd);
           end;
           end;
       end;
       end;