#FEATURE by cg
authorClaus Gittinger <cg@exept.de>
Sat, 25 Jul 2020 11:39:03 +0200
changeset 4685 f239545faf36
parent 4684 953eefa82bbb
child 4686 d635fc4f07f8
#FEATURE by cg class: Parser changed: #parseAnnotationLiteral #parseOtherPrimitives #parseTraditionalPrimitive
Parser.st
--- a/Parser.st	Wed Jul 22 11:55:55 2020 +0200
+++ b/Parser.st	Sat Jul 25 11:39:03 2020 +0200
@@ -10088,9 +10088,11 @@
         ^value.
     ].
     self parseError:tokenType,' unexpected in annotation'.
-    ^ #Error
+    self nextToken.
+    ^ nil
 
     "Created: / 08-06-2019 / 18:15:16 / Claus Gittinger"
+    "Modified: / 25-07-2020 / 11:13:56 / cg"
 !
 
 parseAnotationLiteral
@@ -10257,9 +10259,6 @@
         ^ nil.
     ].
     value := self parseAnnotationLiteral.
-    (value == #Error) ifTrue:[
-        ^ #Error.
-    ].
     ((tokenType == #BinaryOperator) and:[ tokenName = '>' ]) ifTrue:[
         self checkForClosingAngle. "/ not really a check, but remembers endPos
         self addAnnotationWithKey:key asSymbol andArguments:{ value }.
@@ -10291,6 +10290,7 @@
     "Modified: / 19-11-2009 / 11:48:24 / Jan Travnicek <travnja3@fel.cvut.cz>"
     "Modified: / 13-02-2015 / 15:46:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 08-06-2019 / 18:16:12 / Claus Gittinger"
+    "Modified: / 25-07-2020 / 11:14:19 / cg"
 !
 
 parsePragma
@@ -10622,6 +10622,13 @@
                     ]. 
                     self nextToken.
                     ((tokenType == #Keyword) and:[token = 'module:']) ifFalse:[
+                        (tokenType == #BinaryOperator and:[token = '>']) ifTrue:[
+                            self checkForClosingAngle.
+                            parserFlags allowVisualAgePrimitives ifFalse:[
+                                self parseError:'V''Age-primitives not allowed - see settings'.
+                            ].
+                            ^ -1.
+                        ].
                         self parseError:'Squeak primitives not allowed - see settings'.
                     ]. 
                     self nextToken.
@@ -10699,8 +10706,8 @@
     ^ primNumber
 
     "Modified: / 03-11-2009 / 17:14:48 / Jan Travnicek <travnja3@fel.cvut.cz>"
-    "Modified: / 07-02-2012 / 17:22:52 / cg"
     "Modified: / 04-10-2018 / 18:50:57 / Claus Gittinger"
+    "Modified: / 25-07-2020 / 11:34:30 / cg"
 !
 
 parseVWTypeOrExternalFunctionDeclarationFrom:aStream definitionType:definitionType knownDefinitions:dictionaryOfTypesOrNil lineNr:lineNr