StatNode.st
changeset 140 1ef1d1395146
parent 135 aa4f7b8f121e
child 148 ef0e604209ec
--- a/StatNode.st	Sat Nov 18 17:59:14 1995 +0100
+++ b/StatNode.st	Thu Nov 23 03:15:59 1995 +0100
@@ -11,10 +11,10 @@
 "
 
 ParseNode subclass:#StatementNode
-       instanceVariableNames:'expression nextStatement'
-       classVariableNames:''
-       poolDictionaries:''
-       category:'System-Compiler-Support'
+	 instanceVariableNames:'expression nextStatement'
+	 classVariableNames:''
+	 poolDictionaries:''
+	 category:'System-Compiler-Support'
 !
 
 !StatementNode class methodsFor:'documentation'!
@@ -33,14 +33,14 @@
 "
 !
 
-version
-    ^ '$Header: /cvs/stx/stx/libcomp/Attic/StatNode.st,v 1.11 1995-11-11 15:31:39 cg Exp $'
-!
-
 documentation
 "
     node for parse-trees, representing statements
 "
+!
+
+version
+    ^ '$Header: /cvs/stx/stx/libcomp/Attic/StatNode.st,v 1.12 1995-11-23 02:14:55 cg Exp $'
 ! !
 
 !StatementNode class methodsFor:'instance creation'!
@@ -49,40 +49,16 @@
     ^ (self basicNew) expression:e
 ! !
 
-!StatementNode methodsFor:'evaluating'!
+!StatementNode methodsFor:'accessing'!
 
-evaluateExpression
-    ^ expression evaluate
+expression
+    ^ expression
 !
 
-evaluate
-    |lastValue thisStatement|
-
-    "this could be done more elegant - but with lots of recursion"
-    thisStatement := self.
-    [thisStatement notNil] whileTrue:[
-	lastValue := thisStatement evaluateExpression.
-	thisStatement := thisStatement nextStatement
-    ].
-    ^ lastValue
-! !
-
-!StatementNode methodsFor:'code generation'!
-
-codeOn:aStream inBlock:b for:aCompiler
-    "generate code for this statement"
-
-    expression codeOn:aStream inBlock:b for:aCompiler
+expression:e
+    expression := e
 !
 
-codeForSideEffectOn:aStream inBlock:b for:aCompiler
-    "generate code for this statement - value not needed"
-
-    expression codeForSideEffectOn:aStream inBlock:b for:aCompiler
-! !
-
-!StatementNode methodsFor:'accessing'!
-
 last
     "return the last statement in a list"
 
@@ -98,35 +74,48 @@
     ^ last
 !
 
-nextStatement:s
-    nextStatement := s
-!
-
 nextStatement
     ^ nextStatement
 !
 
-expression:e
-    expression := e
+nextStatement:s
+    nextStatement := s
+! !
+
+!StatementNode methodsFor:'code generation'!
+
+codeForSideEffectOn:aStream inBlock:b for:aCompiler
+    "generate code for this statement - value not needed"
+
+    expression codeForSideEffectOn:aStream inBlock:b for:aCompiler
 !
 
-expression
-    ^ expression
+codeOn:aStream inBlock:b for:aCompiler
+    "generate code for this statement"
+
+    expression codeOn:aStream inBlock:b for:aCompiler
 ! !
 
-!StatementNode methodsFor:'queries'!
+!StatementNode methodsFor:'evaluating'!
+
+evaluate
+    |lastValue thisStatement|
 
-isConstant
-    nextStatement notNil ifTrue:[^ false].
-    ^ expression isConstant
+    "this could be done more elegant - but with lots of recursion"
+    thisStatement := self.
+    [thisStatement notNil] whileTrue:[
+	lastValue := thisStatement evaluateExpression.
+	thisStatement := thisStatement nextStatement
+    ].
+    ^ lastValue
+!
+
+evaluateExpression
+    ^ expression evaluate
 ! !
 
 !StatementNode methodsFor:'printing'!
 
-printOn:aStream indent:i
-    expression printOn:aStream indent:i.
-!
-
 printAllOn:aStream 
     self printAllOn:aStream indent:4
 !
@@ -144,4 +133,16 @@
 	].
 	thisStatement := thisStatement nextStatement
     ]
+!
+
+printOn:aStream indent:i
+    expression printOn:aStream indent:i.
 ! !
+
+!StatementNode methodsFor:'queries'!
+
+isConstant
+    nextStatement notNil ifTrue:[^ false].
+    ^ expression isConstant
+! !
+