StatementNode.st
changeset 2598 2f08bc888c24
parent 2503 791583d321c8
child 2613 4e1f7de0d215
--- a/StatementNode.st	Tue Jul 26 00:33:18 2011 +0200
+++ b/StatementNode.st	Tue Jul 26 00:33:29 2011 +0200
@@ -56,8 +56,13 @@
     ^ expression
 !
 
-expression:e
-    expression := e
+expression:something
+
+    expression notNil ifTrue:[expression parent: nil].
+    expression := something.
+    expression notNil ifTrue:[expression parent: self].
+
+    "Modified: / 20-07-2011 / 19:48:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 isStatement
@@ -113,7 +118,20 @@
 !
 
 nextStatement:s
-    nextStatement := s
+
+    nextStatement notNil ifTrue:[nextStatement parent: nil].
+    nextStatement := s.
+    nextStatement notNil ifTrue:[nextStatement parent: parent].
+
+    "Modified: / 20-07-2011 / 21:42:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+parent: aParseNode
+
+    super parent: aParseNode.
+    nextStatement notNil ifTrue:[nextStatement parent: aParseNode].
+
+    "Created: / 20-07-2011 / 19:52:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !StatementNode methodsFor:'code generation'!
@@ -318,12 +336,23 @@
     "Modified: / 13-06-2011 / 14:05:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!StatementNode methodsFor:'visiting'!
+
+acceptVisitor:aVisitor 
+    "Double dispatch back to the visitor, passing my type encoded in
+     the selector (visitor pattern)"
+
+    "stub code automatically generated - please change if required"
+
+    ^ aVisitor visitStatementNode:self
+! !
+
 !StatementNode class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libcomp/StatementNode.st,v 1.39 2011-06-28 20:06:14 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/StatementNode.st,v 1.40 2011-07-25 22:33:29 vrany Exp $'
 !
 
 version_SVN
-    ^ ' Id '
+    ^ '§ Id §'
 ! !