瀏覽代碼

* also process methodpointerinit and methodpointerdone fields
of calln in foreachnode*()

git-svn-id: trunk@2183 -

Jonas Maebe 20 年之前
父節點
當前提交
24c3ec1095
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      compiler/nutils.pas

+ 4 - 0
compiler/nutils.pas

@@ -110,7 +110,9 @@ implementation
         calln:
           begin
             { not in one statement, won't work because of b- }
+            result := foreachnode(tcallnode(n).methodpointerinit,f,arg) or result;
             result := foreachnode(tcallnode(n).methodpointer,f,arg) or result;
+            result := foreachnode(tcallnode(n).methodpointerdone,f,arg) or result;
           end;
         ifn, whilerepeatn, forn:
           begin
@@ -148,7 +150,9 @@ implementation
         case n.nodetype of
           calln:
             begin
+              result := foreachnodestatic(procmethod,tcallnode(n).methodpointerinit,f,arg) or result;
               result := foreachnodestatic(procmethod,tcallnode(n).methodpointer,f,arg) or result;
+              result := foreachnodestatic(procmethod,tcallnode(n).methodpointerdone,f,arg) or result;
             end;
           ifn, whilerepeatn, forn:
             begin