Jelajahi Sumber

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 tahun lalu
induk
melakukan
a4c420a937
1 mengubah file dengan 4 tambahan dan 0 penghapusan
  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