oops - stc bug workaround - scans keyword selectors
authorClaus Gittinger <cg@exept.de>
Thu, 16 May 2002 20:20:04 +0200
changeset 1275 91a0eead9e0e
parent 1274 7d4a3391a81a
child 1276 f7f6e0c1aff9
oops - stc bug workaround - scans keyword selectors inside a literal array wrong (need #' ... ')
Parser.st
--- a/Parser.st	Thu May 16 20:12:53 2002 +0200
+++ b/Parser.st	Thu May 16 20:20:04 2002 +0200
@@ -4585,14 +4585,14 @@
                             selector:#value
                 ].
                 numArgs <= 8 ifTrue:[
-                    selector := #( value:
-                                   value:value:
-                                   value:value:value:
-                                   value:value:value:value:
-                                   value:value:value:value:value:
-                                   value:value:value:value:value:value:
-                                   value:value:value:value:value:value:value:
-                                   value:value:value:value:value:value:value:value:
+                    selector := #( #'value:'
+                                   #'value:value:'
+                                   #'value:value:value:'
+                                   #'value:value:value:value:'
+                                   #'value:value:value:value:value:'
+                                   #'value:value:value:value:value:value:'
+                                   #'value:value:value:value:value:value:value:'
+                                   #'value:value:value:value:value:value:value:value:'
                                  ) at:numArgs.
                     ^ MessageNode 
                             receiver:receiver 
@@ -4656,14 +4656,14 @@
 
     (numEl between:1 and:8) ifTrue:[
         sel := #( 
-                  with:
-                  with:with:
-                  with:with:with:
-                  with:with:with:with:
-                  with:with:with:with:with:
-                  with:with:with:with:with:with:
-                  with:with:with:with:with:with:with:
-                  with:with:with:with:with:with:with:with:
+                  #'with:'
+                  #'with:with:'
+                  #'with:with:with:'
+                  #'with:with:with:with:'
+                  #'with:with:with:with:with:'
+                  #'with:with:with:with:with:with:'
+                  #'with:with:with:with:with:with:with:'
+                  #'with:with:with:with:with:with:with:with:'
                 ) at:numEl.
 
         ^ MessageNode 
@@ -5514,9 +5514,13 @@
 squeakComputedArray
     |expressions elem pos1|
 
+    tokenType == $} ifTrue:[
+        ^ #()
+    ].
+
     pos1 := tokenPosition.
     expressions := OrderedCollection new:20.
-    [tokenType ~~ $} ] whileTrue:[
+    [true] whileTrue:[
         elem := self expression.
         (elem == #Error) ifTrue:[
             (tokenType == #EOF) ifTrue:[
@@ -5532,7 +5536,7 @@
             ^ expressions
         ]
     ].
-    ^ expressions
+    "/ not reached
 !
 
 unaryExpression
@@ -6563,6 +6567,6 @@
 !Parser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.334 2002-05-16 18:12:53 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.335 2002-05-16 18:20:04 cg Exp $'
 ! !
 Parser initialize!