#FEATURE by cg
class: Parser
added: #squeakComputedArrayExpressions
removed: #squeakComputedArray
changed: #primary_squeakComputedArray
--- a/Parser.st Wed Aug 08 10:29:13 2018 +0200
+++ b/Parser.st Mon Aug 20 08:12:40 2018 +0200
@@ -5480,6 +5480,7 @@
selector := aParser selector.
! !
+
!Parser methodsFor:'obsolete'!
correctByDeleting
@@ -8499,12 +8500,13 @@
In squeak, these are written as: { expr1 . expr2 . ... exprN )
and create a message to construct an Array containing the exprI values"
- |pos pos2 exprList|
+ |pos pos2 exprList line1 node|
pos := tokenPosition.
-
+ line1 := tokenLineNr.
+
self nextToken.
- exprList := self squeakComputedArray.
+ exprList := self squeakComputedArrayExpressions.
(exprList == #Error) ifTrue:[ ^ #Error ].
tokenType ~~ $} ifTrue:[
@@ -8518,9 +8520,10 @@
].
"/ make it an array creation expression ...
- ^ (self genMakeArrayWith:exprList)
- startPosition: pos
- endPosition: pos2
+ node := (self genMakeArrayWith:exprList)
+ startPosition:pos endPosition:pos2.
+ node lineNumber:line1.
+ ^ node
"
Compiler allowSqueakExtensions:true.
@@ -8536,6 +8539,7 @@
"Modified: / 27-07-2011 / 15:56:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 22-08-2012 / 13:20:58 / cg"
+ "Modified: / 19-08-2018 / 11:17:34 / Claus Gittinger"
!
primary_super
@@ -8708,7 +8712,9 @@
^ self qualifiedNameFrom:pos1
!
-squeakComputedArray
+squeakComputedArrayExpressions
+ "parse a squeak array expression's '{' expr... '}' list of exprs."
+
|expressions elem pos1|
tokenType == $} ifTrue:[
@@ -8716,7 +8722,7 @@
].
pos1 := tokenPosition.
- expressions := OrderedCollection new:20.
+ expressions := OrderedCollection new.
[
elem := self expression.
(elem == #Error) ifTrue:[
@@ -8736,6 +8742,8 @@
].
] loop.
"/ not reached
+
+ "Created: / 19-08-2018 / 11:13:42 / Claus Gittinger"
!
typedArray:typeSymbol