removed an obsolete method
authorClaus Gittinger <cg@exept.de>
Mon, 05 Nov 2012 19:50:44 +0100
changeset 2970 e2159f9de126
parent 2969 520b867ee1ed
child 2971 0534f98e8e65
removed an obsolete method
Parser.st
--- a/Parser.st	Sat Nov 03 18:59:24 2012 +0100
+++ b/Parser.st	Mon Nov 05 19:50:44 2012 +0100
@@ -2164,14 +2164,14 @@
 !
 
 setNameSpace:aNameSpaceName
+    "sent from a namespace directive, if there is no requestor.
+     Remember the current namespace."
+
     currentNamespace := aNameSpaceName isString 
                             ifTrue:[ NameSpace fullName:aNameSpaceName ] 
                             ifFalse:[ aNameSpaceName ].
 
     "Modified: 8.11.1996 / 13:43:14 / cg"
-
-
-
 !
 
 setPackage:aPackageID
@@ -5097,6 +5097,15 @@
     "Modified: / 05-07-2010 / 17:15:34 / cg"
 !
 
+makeSelector:rawSelector
+false ifTrue:[  "/ will eventually support namespace selectors
+    currentNamespace notNil ifTrue:[
+        ^ (':',currentNamespace name,':',rawSelector) asSymbol
+    ].
+].
+    ^ rawSelector asSymbol.
+!
+
 parseExpressionWithSelf:anObject notifying:someOne ignoreErrors:ignoreErrors ignoreWarnings:ignoreWarnings inNameSpace:aNameSpaceOrNil
     "parse aString as an expression with self set to anObject;
      Return the parseTree (if ok), nil (for an empty string 
@@ -5134,47 +5143,6 @@
     "Created: / 14-12-1999 / 15:11:37 / cg"
 !
 
-parseExtendedMethodSpec
-    |pos1 pos2 var|
-
-    "/ EXPERIMENTAL
-false ifTrue:[
-    (tokenType == #Symbol) ifTrue:[
-        pos1 := tokenPosition.
-        selector := token asSymbol.
-        self nextToken.
-        self markMethodSelectorFrom:pos1 to:(tokenPosition-1).
-        beginOfBodyPosition := tokenPosition.
-
-        tokenType == $( ifTrue:[
-            self nextToken.
-            [ tokenType ~~ $) ] whileTrue:[
-
-                (tokenType ~~ #Identifier) ifTrue:[^ #Error].
-                pos2 := tokenPosition+tokenName size-1.
-                self markArgumentIdentifierFrom:tokenPosition to:pos2.
-                var := Variable name:tokenName.
-                methodArgs isNil ifTrue:[
-                    methodArgs := Array with:var.
-                    methodArgNames := Array with:tokenName
-                ] ifFalse:[
-                    (methodArgNames includes:tokenName) ifTrue:[
-                        self methodArgRedefined:tokenName from:tokenPosition to:pos2
-                    ].
-                    methodArgs := methodArgs copyWith:var.
-                    methodArgNames := methodArgNames copyWith:tokenName
-                ].
-                self nextToken.
-            ].
-            self nextToken.
-        ].
-
-        ^ self
-    ].
-].
-    ^ #Error
-!
-
 parseMethod
     "parse a method.
      Return the parseTree or #Error.
@@ -5456,28 +5424,32 @@
                     | IDENTIFIER
     "
 
-    |arg pos2 selectorPositions|
+    |arg pos1 pos2 argPos1 argPos2 rawSelector|
 
     tokenType isNil ifTrue:[
         self nextToken.
     ].
+
+    pos1 := tokenPosition.
+
     "/ selectorPositions := OrderedCollection new.
 
     (tokenType == #Keyword) ifTrue:[
-        selector := ''.
+        rawSelector := ''.
         [tokenType == #Keyword] whileTrue:[
-            "/ selectorPositions add:(tokenPosition to:(tokenPosition+tokenName size-1)).
-            self markMethodSelectorFrom:tokenPosition to:(tokenPosition+tokenName size-1).
-            selector := selector , tokenName.
+            "/ selectorPositions add:(pos1 to:(pos1+tokenName size - 1)).
+            self markMethodSelectorFrom:pos1 to:(pos1+tokenName size - 1).
+            rawSelector := rawSelector , tokenName.
             self nextToken.
 
             (tokenType ~~ #Identifier) ifTrue:[
                 "/ ^ #Error].
                 ^ self identifierExpectedIn:'method-arg declaration'
             ].
-
-            pos2 := tokenPosition+tokenName size-1.
-            self markMethodArgumentIdentifierFrom:tokenPosition to:pos2.
+            argPos1 := tokenPosition.
+            argPos2 := argPos1+tokenName size - 1.
+            pos2 := argPos2.
+            self markMethodArgumentIdentifierFrom:argPos1 to:argPos2.
             self checkMethodArgumentNameConventionsFor:tokenName.
             arg := Variable name:tokenName.
             methodArgs isNil ifTrue:[
@@ -5485,7 +5457,7 @@
                 methodArgNames := Array with:tokenName
             ] ifFalse:[
                 (methodArgNames includes:tokenName) ifTrue:[
-                    self methodArgRedefined:tokenName from:tokenPosition to:pos2
+                    self methodArgRedefined:tokenName from:argPos1 to:argPos2
                 ].
                 methodArgs := methodArgs copyWith:arg.
                 methodArgNames := methodArgNames copyWith:tokenName
@@ -5495,7 +5467,7 @@
                     (self classesInstVarNames includes:tokenName) ifTrue:[
                         self 
                             warning:'argument "' , tokenName allBold , '" hides instance variable.'
-                            position:tokenPosition to:pos2
+                            position:argPos1 to:argPos2
                     ]
                 ].
             ].
@@ -5505,18 +5477,21 @@
 "/                arg domain:nil.
 "/            ].
         ].
-        selector := selector asSymbol.
+
+        selector := self makeSelector:rawSelector.
         endOfSelectorPosition := pos2.
         beginOfBodyPosition := tokenPosition.
         ^ self
     ].
 
     (self isValidUnarySelector:tokenType) ifTrue:[
-        pos2 := tokenPosition+tokenName size-1.
-        self markMethodSelectorFrom:tokenPosition to:pos2.
-        selector := tokenName asSymbol.
+        pos2 := pos1+tokenName size - 1.
+        self markMethodSelectorFrom:pos1 to:pos2.
+        rawSelector := tokenName.
+        self nextToken.
+
+        selector := self makeSelector:rawSelector.
         endOfSelectorPosition := pos2.
-        self nextToken.
         beginOfBodyPosition := tokenPosition.
         ^ self
     ].
@@ -5524,21 +5499,23 @@
     "/ special handling for | and ^, which are also lexical tokens
     (tokenType == $| 
     or:[(tokenType == $^) and:[parserFlags allowCaretAsBinop]]) ifTrue:[
+        pos2 := pos1+token size - 1.
         token := tokenName := (String with:tokenType).
         tokenType := #BinaryOperator.
         self 
             warnPossibleIncompatibility:('''',token,''' might not be a valid selector in other smalltalk systems') 
-            position:tokenPosition to:pos2.
+            position:pos1 to:pos2.
     ].
 
 
     (tokenType == #BinaryOperator) ifTrue:[
-        self markMethodSelectorFrom:tokenPosition to:(tokenPosition+tokenName size-1).
-        selector := tokenName asSymbol.
+        self markMethodSelectorFrom:pos1 to:(pos1+tokenName size - 1).
+        rawSelector := tokenName.
         self nextToken.
         (tokenType ~~ #Identifier) ifTrue:[^ #Error].
-        pos2 := tokenPosition+tokenName size-1.
-        self markMethodArgumentIdentifierFrom:tokenPosition to:pos2.
+        argPos1 := tokenPosition.
+        pos2 := argPos2 := argPos1+tokenName size - 1.
+        self markMethodArgumentIdentifierFrom:argPos1 to:argPos2.
         self checkMethodArgumentNameConventionsFor:tokenName.
         arg := Variable name:tokenName.
 
@@ -5547,6 +5524,7 @@
 
         endOfSelectorPosition := pos2.
         self nextToken.
+        selector := self makeSelector:rawSelector.
         beginOfBodyPosition := tokenPosition.
 "/            ((tokenType == #BinaryOperator) and:[token = '#']) ifTrue:[
 "/                self nextToken.
@@ -5555,7 +5533,7 @@
         ^ self
     ].
 
-    ^ self parseExtendedMethodSpec
+    ^ #Error
 
     "Modified: / 12-07-2010 / 09:57:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 21-08-2011 / 08:12:20 / cg"
@@ -10885,11 +10863,11 @@
 !Parser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.729 2012-10-24 18:27:35 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.730 2012-11-05 18:50:44 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.729 2012-10-24 18:27:35 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.730 2012-11-05 18:50:44 cg Exp $'
 !
 
 version_SVN