#BUGFIX by exept
authorClaus Gittinger <cg@exept.de>
Sat, 24 Aug 2019 00:50:45 +0200
changeset 4523 5498e118d969
parent 4522 1879f0459703
child 4524 111b3e240d4a
#BUGFIX by exept class: Parser changed: #unaryExpressionFor: start/endPosition
Parser.st
--- a/Parser.st	Fri Aug 23 21:48:35 2019 +0200
+++ b/Parser.st	Sat Aug 24 00:50:45 2019 +0200
@@ -9314,10 +9314,11 @@
 unaryExpressionFor:receiverArg
     "parse a unary-expression; return a node-tree, nil or #Error"
 
-    |receiver expr sel pos pos2 lNr arguments|
+    |receiver expr sel pos pos1 pos2 lNr arguments|
 
     receiver := receiverArg.
     (receiver == #Error) ifTrue:[^ #Error].
+    pos1 := receiverArg startPosition.
 
     [ self isValidUnarySelector:tokenType ] whileTrue:[
         pos := tokenPosition.
@@ -9350,6 +9351,7 @@
                     expr := MessageNode receiver:receiver selector:sel args:arguments fold:nil.
                 ].
                 expr lineNumber:lNr.
+                expr startPosition:pos1 endPosition:tokenLastEndPosition.
 
                 self checkPlausibilityOf:expr from:pos to:pos2.
                 parseForCode ifFalse:[
@@ -9361,7 +9363,7 @@
 
         "/ create the expression before (corrector may need it)
         expr := UnaryNode receiver:receiver selector:sel fold:foldConstants.
-        expr startPosition:(receiver startPosition) endPosition:pos2.
+        expr startPosition:pos1 endPosition:pos2.
 
         "/ attention: may have been optimized (Character return -> const!!
         expr isMessage ifTrue:[