#BUGFIX by cg
class: StatementNode
changed: #allNodesDo:
did call arg-block multiple times for the same expr.
--- a/StatementNode.st Mon Apr 16 10:10:14 2018 +0200
+++ b/StatementNode.st Mon Apr 16 20:49:52 2018 +0200
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
"
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
@@ -141,7 +143,6 @@
"Created: / 20-07-2011 / 19:52:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!StatementNode methodsFor:'code generation'!
codeAllForSideEffectOn:aStream inBlock:b for:aCompiler
@@ -202,9 +203,9 @@
s := self.
[s notNil] whileTrue:[
aBlock value:s.
- s ~~ self ifTrue:[
- s allNodesDo:aBlock.
- ].
+"/ s ~~ self ifTrue:[
+"/ s allNodesDo:aBlock.
+"/ ].
e := s expression.
e notNil ifTrue:[e allNodesDo:aBlock].
s := s nextStatement
@@ -289,7 +290,6 @@
].
! !
-
!StatementNode methodsFor:'evaluation'!
evaluateAllIn:anEnvironment