equal
deleted
inserted
replaced
1 "{ Encoding: utf8 }" |
|
2 |
|
3 " |
1 " |
4 COPYRIGHT (c) 1989 by Claus Gittinger |
2 COPYRIGHT (c) 1989 by Claus Gittinger |
5 All Rights Reserved |
3 All Rights Reserved |
6 |
4 |
7 This software is furnished under a license and may be used |
5 This software is furnished under a license and may be used |
782 useSelfSend usedSelector| |
780 useSelfSend usedSelector| |
783 |
781 |
784 selector := selector asSymbol. |
782 selector := selector asSymbol. |
785 usedSelector := aCompiler nameSpaceSelectorFor:selector. |
783 usedSelector := aCompiler nameSpaceSelectorFor:selector. |
786 |
784 |
787 "/ must be added for browsers-search to work on optimized nodes |
785 "/ must be added for browser's-search to work on optimized nodes |
788 usedSelector ~~ selector ifTrue:[ aCompiler addLiteral:selector ]. |
786 usedSelector ~~ selector ifTrue:[ aCompiler addLiteral:selector ]. |
789 litIndex := aCompiler addLiteral:usedSelector. |
787 litIndex := aCompiler addLiteral:usedSelector. |
790 |
788 |
791 noSendDrop := aCompiler class newCodeSet == true. |
789 noSendDrop := aCompiler class newCodeSet == true. |
792 |
790 |
1145 ]. |
1143 ]. |
1146 |
1144 |
1147 "Modified: / 03-09-1995 / 12:55:42 / claus" |
1145 "Modified: / 03-09-1995 / 12:55:42 / claus" |
1148 "Modified: / 25-05-2012 / 11:29:47 / cg" |
1146 "Modified: / 25-05-2012 / 11:29:47 / cg" |
1149 "Modified: / 12-04-2013 / 22:42:49 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1147 "Modified: / 12-04-2013 / 22:42:49 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
1148 "Modified (comment): / 29-08-2018 / 12:53:43 / Claus Gittinger" |
1150 ! ! |
1149 ! ! |
1151 |
1150 |
1152 !MessageNode methodsFor:'enumerating'! |
1151 !MessageNode methodsFor:'enumerating'! |
1153 |
1152 |
1154 allSubNodesDo:aBlock |
1153 allSubNodesDo:aBlock |
1198 receiver variableNodesDo:aBlock. |
1197 receiver variableNodesDo:aBlock. |
1199 argArray notNil ifTrue:[ |
1198 argArray notNil ifTrue:[ |
1200 argArray do:[:arg | arg variableNodesDo:aBlock]. |
1199 argArray do:[:arg | arg variableNodesDo:aBlock]. |
1201 ] |
1200 ] |
1202 ! ! |
1201 ! ! |
|
1202 |
1203 |
1203 |
1204 !MessageNode methodsFor:'evaluation'! |
1204 !MessageNode methodsFor:'evaluation'! |
1205 |
1205 |
1206 evaluateForCascadeIn:anEnvironment |
1206 evaluateForCascadeIn:anEnvironment |
1207 "evaluate, but return the receiver expression's value, |
1207 "evaluate, but return the receiver expression's value, |
1283 ! |
1283 ! |
1284 |
1284 |
1285 evaluationSelector |
1285 evaluationSelector |
1286 ^ selector asSymbol |
1286 ^ selector asSymbol |
1287 ! ! |
1287 ! ! |
|
1288 |
1288 |
1289 |
1289 !MessageNode methodsFor:'optimized code generation'! |
1290 !MessageNode methodsFor:'optimized code generation'! |
1290 |
1291 |
1291 codeAndIfElseOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler |
1292 codeAndIfElseOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler |
1292 "generate code for (x and:[y]) ifxxx:[ ... ] ifyyy:[ ... ]" |
1293 "generate code for (x and:[y]) ifxxx:[ ... ] ifyyy:[ ... ]" |