--- 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 $'
! !