generate selector symbols late (when compiling or evaluating)
to avoid generating by parsing alone (syntaxHighlighter)
--- a/CascadeNd.st Thu Jun 24 00:16:33 1999 +0200
+++ b/CascadeNd.st Thu Jun 24 00:17:55 1999 +0200
@@ -95,14 +95,16 @@
evaluate
|t argValueArray|
+ selector := selector asSymbol.
+
receiver isSuper ifTrue:[
- ^ super evaluate
+ ^ super evaluate
].
t := receiver evaluateForCascade.
argArray isNil ifTrue:[
- t perform:selector.
- ^ t
+ t perform:selector.
+ ^ t
].
argValueArray := argArray collect:[:arg | arg evaluate].
^ t perform:selector withArguments:argValueArray
@@ -111,14 +113,15 @@
evaluateForCascade
|t argValueArray|
+ selector := selector asSymbol.
receiver isSuper ifTrue:[
- ^ super evaluateForCascade
+ ^ super evaluateForCascade
].
t := receiver evaluateForCascade.
argArray isNil ifTrue:[
- t perform:selector.
- ^ t
+ t perform:selector.
+ ^ t
].
argValueArray := argArray collect:[:arg | arg evaluate].
t perform:selector withArguments:argValueArray.
@@ -183,5 +186,5 @@
!CascadeNode class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/Attic/CascadeNd.st,v 1.19 1999-02-26 12:13:31 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/Attic/CascadeNd.st,v 1.20 1999-06-23 22:17:55 cg Exp $'
! !
--- a/CascadeNode.st Thu Jun 24 00:16:33 1999 +0200
+++ b/CascadeNode.st Thu Jun 24 00:17:55 1999 +0200
@@ -95,14 +95,16 @@
evaluate
|t argValueArray|
+ selector := selector asSymbol.
+
receiver isSuper ifTrue:[
- ^ super evaluate
+ ^ super evaluate
].
t := receiver evaluateForCascade.
argArray isNil ifTrue:[
- t perform:selector.
- ^ t
+ t perform:selector.
+ ^ t
].
argValueArray := argArray collect:[:arg | arg evaluate].
^ t perform:selector withArguments:argValueArray
@@ -111,14 +113,15 @@
evaluateForCascade
|t argValueArray|
+ selector := selector asSymbol.
receiver isSuper ifTrue:[
- ^ super evaluateForCascade
+ ^ super evaluateForCascade
].
t := receiver evaluateForCascade.
argArray isNil ifTrue:[
- t perform:selector.
- ^ t
+ t perform:selector.
+ ^ t
].
argValueArray := argArray collect:[:arg | arg evaluate].
t perform:selector withArguments:argValueArray.
@@ -183,5 +186,5 @@
!CascadeNode class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/CascadeNode.st,v 1.19 1999-02-26 12:13:31 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/CascadeNode.st,v 1.20 1999-06-23 22:17:55 cg Exp $'
! !
--- a/MessageNd.st Thu Jun 24 00:16:33 1999 +0200
+++ b/MessageNd.st Thu Jun 24 00:17:55 1999 +0200
@@ -296,12 +296,16 @@
receiver:r selector:s args:a lineno:l
receiver := r.
- selector := s asSymbol.
+ selector := s asSymbolIfInterned ? s.
argArray := a.
lineNr := l.
self checkInlinability.
"Modified: 2.7.1997 / 17:01:24 / cg"
+
+
+
+
!
selector
@@ -1559,6 +1563,8 @@
|nargs isBuiltIn code codeL litIndex cls clsLitIndex isSuper realReceiver|
+ selector := selector asSymbol.
+
realReceiver := self realReceiver.
isSuper := realReceiver isSuper.
@@ -2374,39 +2380,41 @@
evaluate
|r nargs argValueArray class|
+ selector := selector asSymbol.
+
receiver isSuper ifTrue:[
- r := receiver value.
- receiver isHere ifTrue:[
- class := receiver definingClass.
- ] ifFalse:[
- class := receiver definingClass superclass.
- ].
- argArray notNil ifTrue:[
- argValueArray := argArray collect:[:arg | arg evaluate].
- ] ifFalse:[
- argValueArray := #()
- ].
- ^ r perform:selector inClass:class withArguments:argValueArray
+ r := receiver value.
+ receiver isHere ifTrue:[
+ class := receiver definingClass.
+ ] ifFalse:[
+ class := receiver definingClass superclass.
+ ].
+ argArray notNil ifTrue:[
+ argValueArray := argArray collect:[:arg | arg evaluate].
+ ] ifFalse:[
+ argValueArray := #()
+ ].
+ ^ r perform:selector inClass:class withArguments:argValueArray
].
argArray isNil ifTrue:[
- ^ (receiver evaluate) perform:selector
+ ^ (receiver evaluate) perform:selector
].
nargs := argArray size.
(nargs == 1) ifTrue:[
- ^ (receiver evaluate) perform:selector with:(argArray at:1) evaluate
+ ^ (receiver evaluate) perform:selector with:(argArray at:1) evaluate
].
(nargs == 2) ifTrue:[
- ^ (receiver evaluate) perform:selector
- with:(argArray at:1) evaluate
- with:(argArray at:2) evaluate
+ ^ (receiver evaluate) perform:selector
+ with:(argArray at:1) evaluate
+ with:(argArray at:2) evaluate
].
(nargs == 3) ifTrue:[
- ^ (receiver evaluate) perform:selector
- with:(argArray at:1) evaluate
- with:(argArray at:2) evaluate
- with:(argArray at:3) evaluate
+ ^ (receiver evaluate) perform:selector
+ with:(argArray at:1) evaluate
+ with:(argArray at:2) evaluate
+ with:(argArray at:3) evaluate
].
r := receiver evaluate.
argValueArray := argArray collect:[:arg | arg evaluate].
@@ -2416,41 +2424,43 @@
evaluateForCascade
|r nargs argValueArray class|
+ selector := selector asSymbol.
+
receiver isSuper ifTrue:[
- r := receiver value.
- class := receiver definingClass.
- receiver isHere ifFalse:[
- class := class superclass.
- ].
- argArray notNil ifTrue:[
- argValueArray := argArray collect:[:arg | arg evaluate].
- ] ifFalse:[
- argValueArray := #()
- ].
- r perform:selector inClass:class withArguments:argValueArray.
- ^ r
+ r := receiver value.
+ class := receiver definingClass.
+ receiver isHere ifFalse:[
+ class := class superclass.
+ ].
+ argArray notNil ifTrue:[
+ argValueArray := argArray collect:[:arg | arg evaluate].
+ ] ifFalse:[
+ argValueArray := #()
+ ].
+ r perform:selector inClass:class withArguments:argValueArray.
+ ^ r
].
r := receiver evaluate.
argArray isNil ifTrue:[
- r perform:selector.
- ^ r
+ r perform:selector.
+ ^ r
].
nargs := argArray size.
(nargs == 1) ifTrue:[
- r perform:selector with:(argArray at:1) evaluate.
- ^ r
+ r perform:selector with:(argArray at:1) evaluate.
+ ^ r
].
(nargs == 2) ifTrue:[
- r perform:selector with:(argArray at:1) evaluate
- with:(argArray at:2) evaluate.
- ^ r
+ r perform:selector with:(argArray at:1) evaluate
+ with:(argArray at:2) evaluate.
+ ^ r
].
(nargs == 3) ifTrue:[
- r perform:selector with:(argArray at:1) evaluate
- with:(argArray at:2) evaluate
- with:(argArray at:3) evaluate.
- ^ r
+ r perform:selector with:(argArray at:1) evaluate
+ with:(argArray at:2) evaluate
+ with:(argArray at:3) evaluate.
+ ^ r
].
argValueArray := argArray collect:[:arg | arg evaluate].
r perform:selector withArguments:argValueArray.
@@ -2585,5 +2595,5 @@
!MessageNode class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/Attic/MessageNd.st,v 1.93 1999-06-17 17:13:46 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/Attic/MessageNd.st,v 1.94 1999-06-23 22:17:01 cg Exp $'
! !
--- a/MessageNode.st Thu Jun 24 00:16:33 1999 +0200
+++ b/MessageNode.st Thu Jun 24 00:17:55 1999 +0200
@@ -296,12 +296,16 @@
receiver:r selector:s args:a lineno:l
receiver := r.
- selector := s asSymbol.
+ selector := s asSymbolIfInterned ? s.
argArray := a.
lineNr := l.
self checkInlinability.
"Modified: 2.7.1997 / 17:01:24 / cg"
+
+
+
+
!
selector
@@ -1559,6 +1563,8 @@
|nargs isBuiltIn code codeL litIndex cls clsLitIndex isSuper realReceiver|
+ selector := selector asSymbol.
+
realReceiver := self realReceiver.
isSuper := realReceiver isSuper.
@@ -2374,39 +2380,41 @@
evaluate
|r nargs argValueArray class|
+ selector := selector asSymbol.
+
receiver isSuper ifTrue:[
- r := receiver value.
- receiver isHere ifTrue:[
- class := receiver definingClass.
- ] ifFalse:[
- class := receiver definingClass superclass.
- ].
- argArray notNil ifTrue:[
- argValueArray := argArray collect:[:arg | arg evaluate].
- ] ifFalse:[
- argValueArray := #()
- ].
- ^ r perform:selector inClass:class withArguments:argValueArray
+ r := receiver value.
+ receiver isHere ifTrue:[
+ class := receiver definingClass.
+ ] ifFalse:[
+ class := receiver definingClass superclass.
+ ].
+ argArray notNil ifTrue:[
+ argValueArray := argArray collect:[:arg | arg evaluate].
+ ] ifFalse:[
+ argValueArray := #()
+ ].
+ ^ r perform:selector inClass:class withArguments:argValueArray
].
argArray isNil ifTrue:[
- ^ (receiver evaluate) perform:selector
+ ^ (receiver evaluate) perform:selector
].
nargs := argArray size.
(nargs == 1) ifTrue:[
- ^ (receiver evaluate) perform:selector with:(argArray at:1) evaluate
+ ^ (receiver evaluate) perform:selector with:(argArray at:1) evaluate
].
(nargs == 2) ifTrue:[
- ^ (receiver evaluate) perform:selector
- with:(argArray at:1) evaluate
- with:(argArray at:2) evaluate
+ ^ (receiver evaluate) perform:selector
+ with:(argArray at:1) evaluate
+ with:(argArray at:2) evaluate
].
(nargs == 3) ifTrue:[
- ^ (receiver evaluate) perform:selector
- with:(argArray at:1) evaluate
- with:(argArray at:2) evaluate
- with:(argArray at:3) evaluate
+ ^ (receiver evaluate) perform:selector
+ with:(argArray at:1) evaluate
+ with:(argArray at:2) evaluate
+ with:(argArray at:3) evaluate
].
r := receiver evaluate.
argValueArray := argArray collect:[:arg | arg evaluate].
@@ -2416,41 +2424,43 @@
evaluateForCascade
|r nargs argValueArray class|
+ selector := selector asSymbol.
+
receiver isSuper ifTrue:[
- r := receiver value.
- class := receiver definingClass.
- receiver isHere ifFalse:[
- class := class superclass.
- ].
- argArray notNil ifTrue:[
- argValueArray := argArray collect:[:arg | arg evaluate].
- ] ifFalse:[
- argValueArray := #()
- ].
- r perform:selector inClass:class withArguments:argValueArray.
- ^ r
+ r := receiver value.
+ class := receiver definingClass.
+ receiver isHere ifFalse:[
+ class := class superclass.
+ ].
+ argArray notNil ifTrue:[
+ argValueArray := argArray collect:[:arg | arg evaluate].
+ ] ifFalse:[
+ argValueArray := #()
+ ].
+ r perform:selector inClass:class withArguments:argValueArray.
+ ^ r
].
r := receiver evaluate.
argArray isNil ifTrue:[
- r perform:selector.
- ^ r
+ r perform:selector.
+ ^ r
].
nargs := argArray size.
(nargs == 1) ifTrue:[
- r perform:selector with:(argArray at:1) evaluate.
- ^ r
+ r perform:selector with:(argArray at:1) evaluate.
+ ^ r
].
(nargs == 2) ifTrue:[
- r perform:selector with:(argArray at:1) evaluate
- with:(argArray at:2) evaluate.
- ^ r
+ r perform:selector with:(argArray at:1) evaluate
+ with:(argArray at:2) evaluate.
+ ^ r
].
(nargs == 3) ifTrue:[
- r perform:selector with:(argArray at:1) evaluate
- with:(argArray at:2) evaluate
- with:(argArray at:3) evaluate.
- ^ r
+ r perform:selector with:(argArray at:1) evaluate
+ with:(argArray at:2) evaluate
+ with:(argArray at:3) evaluate.
+ ^ r
].
argValueArray := argArray collect:[:arg | arg evaluate].
r perform:selector withArguments:argValueArray.
@@ -2585,5 +2595,5 @@
!MessageNode class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/MessageNode.st,v 1.93 1999-06-17 17:13:46 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/MessageNode.st,v 1.94 1999-06-23 22:17:01 cg Exp $'
! !
--- a/UnaryNd.st Thu Jun 24 00:16:33 1999 +0200
+++ b/UnaryNd.st Thu Jun 24 00:17:55 1999 +0200
@@ -238,8 +238,10 @@
evaluate
"evaluate the expression represented by the receiver"
+ selector := selector asSymbol.
+
receiver isSuper ifTrue:[
- ^ super evaluate
+ ^ super evaluate
].
^ (receiver evaluate) perform:selector
! !
@@ -282,5 +284,5 @@
!UnaryNode class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/Attic/UnaryNd.st,v 1.26 1999-02-03 11:57:58 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/Attic/UnaryNd.st,v 1.27 1999-06-23 22:16:51 cg Exp $'
! !
--- a/UnaryNode.st Thu Jun 24 00:16:33 1999 +0200
+++ b/UnaryNode.st Thu Jun 24 00:17:55 1999 +0200
@@ -238,8 +238,10 @@
evaluate
"evaluate the expression represented by the receiver"
+ selector := selector asSymbol.
+
receiver isSuper ifTrue:[
- ^ super evaluate
+ ^ super evaluate
].
^ (receiver evaluate) perform:selector
! !
@@ -282,5 +284,5 @@
!UnaryNode class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/UnaryNode.st,v 1.26 1999-02-03 11:57:58 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/UnaryNode.st,v 1.27 1999-06-23 22:16:51 cg Exp $'
! !