class: Parser
authorClaus Gittinger <cg@exept.de>
Thu, 04 Dec 2014 18:24:51 +0100
changeset 3539 68a4bbf341ce
parent 3538 8dbc7dc8056b
child 3540 7b38f979f9a0
class: Parser changed: #makeSelector: #rememberSelectorUsed:receiver: avoid creating new symbols
Parser.st
--- a/Parser.st	Thu Dec 04 18:23:53 2014 +0100
+++ b/Parser.st	Thu Dec 04 18:24:51 2014 +0100
@@ -5594,6 +5594,7 @@
         ^ (':',currentNamespace name,':',rawSelector) asSymbol
     ].
 ].
+    parseForCode ifFalse:[^ rawSelector].   "/syntaxhighlighting or analyzing
     ^ rawSelector asSymbol.
 !
 
@@ -10684,7 +10685,7 @@
 rememberSelectorUsed:selectorArg receiver:receiverNode
     |sel|
 
-    sel := selectorArg asSymbol.
+    sel := selectorArg asSymbolIfInterned ? selectorArg.
     self rememberSelectorUsed:sel.
 
     receiverNode isSuper ifTrue:[
@@ -12016,11 +12017,11 @@
 !Parser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.850 2014-12-02 17:18:17 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.851 2014-12-04 17:24:51 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.850 2014-12-02 17:18:17 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.851 2014-12-04 17:24:51 cg Exp $'
 !
 
 version_SVN