StatementNode.st
changeset 2387 6614ed53a9d1
parent 2385 9aa46d2cf2e8
child 2503 791583d321c8
--- a/StatementNode.st	Mon May 03 19:03:52 2010 +0200
+++ b/StatementNode.st	Mon May 03 19:35:31 2010 +0200
@@ -12,7 +12,7 @@
 "{ Package: 'stx:libcomp' }"
 
 ParseNode subclass:#StatementNode
-	instanceVariableNames:'expression nextStatement lineNr'
+	instanceVariableNames:'expression nextStatement lineNr startPosition'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'System-Compiler-Support'
@@ -108,6 +108,14 @@
 
 nextStatement:s
     nextStatement := s
+!
+
+startPosition
+    ^ startPosition
+!
+
+startPosition:something
+    startPosition := something.
 ! !
 
 !StatementNode methodsFor:'code generation'!
@@ -266,6 +274,7 @@
 
     s := self.
     [s notNil] whileTrue:[
+        s isReturnNode ifTrue:[^ true].
         s containsReturn ifTrue:[^ true].
         s := s nextStatement.
     ].
@@ -304,9 +313,9 @@
 !StatementNode class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libcomp/StatementNode.st,v 1.37 2010-05-03 17:03:30 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/StatementNode.st,v 1.38 2010-05-03 17:35:31 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libcomp/StatementNode.st,v 1.37 2010-05-03 17:03:30 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/StatementNode.st,v 1.38 2010-05-03 17:35:31 cg Exp $'
 ! !