瀏覽代碼

Merged revisions 2183 via svnmerge from
svn+ssh://[email protected]/FPC/svn/fpc/trunk

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

git-svn-id: branches/fixes_2_0@2184 -

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

+ 4 - 0
compiler/nutils.pas

@@ -104,10 +104,12 @@ 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;
 {$ifdef PASS2INLINE}
             result := foreachnode(tcallnode(n).inlinecode,f,arg) or result;
 {$endif PASS2INLINE}
+            result := foreachnode(tcallnode(n).methodpointerdone,f,arg) or result;
           end;
         ifn, whilerepeatn, forn:
           begin
@@ -159,10 +161,12 @@ implementation
       case n.nodetype of
         calln:
           begin
+            result := foreachnodestatic(tcallnode(n).methodpointerinit,f,arg) or result;
             result := foreachnodestatic(tcallnode(n).methodpointer,f,arg) or result;
 {$ifdef PASS2INLINE}
             result := foreachnodestatic(tcallnode(n).inlinecode,f,arg) or result;
 {$endif PASS2INLINE}
+            result := foreachnodestatic(tcallnode(n).methodpointerdone,f,arg) or result;
           end;
         ifn, whilerepeatn, forn:
           begin