changed:
authorClaus Gittinger <cg@exept.de>
Mon, 03 May 2010 19:41:14 +0200
changeset 2388 69e82fe32b8c
parent 2387 6614ed53a9d1
child 2389 13ce41b28d4e
changed: #generateReturnOfValue: #statement
Parser.st
--- a/Parser.st	Mon May 03 19:35:31 2010 +0200
+++ b/Parser.st	Mon May 03 19:41:14 2010 +0200
@@ -5202,7 +5202,9 @@
                    | expression
     "
 
-    |expr node lnr code|
+    |expr node lnr code pos|
+
+    pos := tokenPosition.
 
     (tokenType == $^) ifTrue:[
         self markReturnAt:tokenPosition.
@@ -5211,6 +5213,7 @@
         expr := self expression.
         (expr == #Error) ifTrue:[^ #Error].
         node := ReturnNode expression:expr.
+        node startPosition:pos.
         node home:self blockHome:currentBlock.
         true "(lineNumberInfo == #full)" ifTrue:[node lineNumber:lnr].
 
@@ -5243,7 +5246,9 @@
         or:[parserFlags allowSqueakExtensions == true]) ifTrue:[
             "/ allow empty statement
             self warnAboutEmptyStatement.
-            ^ StatementNode expression:nil.
+            node := StatementNode expression:nil.
+            node startPosition:pos.
+            ^ node
         ].
     ].
 
@@ -5260,6 +5265,7 @@
 
     node := StatementNode expression:expr.
     (lineNumberInfo == #full) ifTrue:[node lineNumber:lnr].
+    node startPosition:pos.
     ^ node
 
     "Modified: / 16-11-2006 / 14:37:06 / cg"
@@ -7733,6 +7739,7 @@
     node lineNumber:tokenLineNr.
     tree := ReturnNode new expression:node.
     tree lineNumber:tokenLineNr.
+    tree startPosition:tokenPosition.
 
     "Modified: / 16-11-2006 / 14:36:35 / cg"
 !
@@ -9764,11 +9771,11 @@
 !Parser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.640 2010-05-03 17:03:52 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.641 2010-05-03 17:41:14 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.640 2010-05-03 17:03:52 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.641 2010-05-03 17:41:14 cg Exp $'
 ! !
 
 Parser initialize!