StatementNode.st
changeset 3273 e637f0ae001c
parent 3044 ea354a9e548c
child 3277 3c3e3634cc58
--- a/StatementNode.st	Tue Aug 20 09:21:49 2013 +0200
+++ b/StatementNode.st	Wed Aug 21 18:37:30 2013 +0200
@@ -50,7 +50,6 @@
     ^ (self basicNew) expression:e
 ! !
 
-
 !StatementNode methodsFor:'accessing'!
 
 expression
@@ -115,7 +114,7 @@
     |lno|
 
     lno := self lineNumber.
-    self messagesDo:[:m | lno := lno min:(m lineNumber)].
+    self messageNodesDo:[:m | lno := lno min:(m lineNumber)].
     ^ lno
 !
 
@@ -207,7 +206,22 @@
     ].
 !
 
+messageNodesDo:aBlock
+    "evaluate aBlock for each message-selector sent by this node and subnodes"
+
+    |s e|
+
+    s := self.
+    [s notNil] whileTrue:[
+        e := s expression.
+        e notNil ifTrue:[e messageNodesDo:aBlock].
+        s := s nextStatement
+    ].
+!
+
 messagesDo:aBlock
+    "evaluate aBlock for each message-selector sent by this node and subnodes"
+
     |s e|
 
     s := self.
@@ -376,10 +390,10 @@
 !StatementNode class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libcomp/StatementNode.st,v 1.44 2013-03-15 20:44:27 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/StatementNode.st,v 1.45 2013-08-21 16:37:30 cg Exp $'
 !
 
 version_SVN
-    ^ '§ Id §'
+    ^ '$ Id $'
 ! !