equal
deleted
inserted
replaced
691 |
691 |
692 argArray size > 0 ifTrue:[ |
692 argArray size > 0 ifTrue:[ |
693 "/ check for a beginners error (using super as arg) |
693 "/ check for a beginners error (using super as arg) |
694 "/ as in (something ? super) foo |
694 "/ as in (something ? super) foo |
695 "/ let him know, that this will not be a "super foo" |
695 "/ let him know, that this will not be a "super foo" |
696 argArray do:[:arg | arg isSuper ifTrue:[ |
696 argArray do:[:arg | |
697 ^ 'super special semantic only with receiver of message sends' |
697 arg isSuper ifTrue:[ |
698 ] |
698 ^ 'super special semantic only with receiver of message sends' |
699 ]. |
699 ] |
|
700 ]. |
700 ]. |
701 ]. |
701 |
702 |
702 (selector = #'handle:do:' |
703 (selector = #'handle:do:' |
703 or:[ selector = #'handle:from:do:' |
704 or:[ selector = #'handle:from:do:' |
704 or:[ selector = #'ignoreIn:' |
705 or:[ selector = #'ignoreIn:' |
719 "/ ]. |
720 "/ ]. |
720 |
721 |
721 ^ nil |
722 ^ nil |
722 |
723 |
723 "Modified: / 28-03-2007 / 14:14:28 / cg" |
724 "Modified: / 28-03-2007 / 14:14:28 / cg" |
|
725 "Modified (format): / 08-03-2017 / 11:36:03 / cg" |
724 ! ! |
726 ! ! |
725 |
727 |
726 !MessageNode methodsFor:'code generation'! |
728 !MessageNode methodsFor:'code generation'! |
727 |
729 |
728 codeOn:aStream inBlock:b for:aCompiler |
730 codeOn:aStream inBlock:b for:aCompiler |
1155 receiver variableNodesDo:aBlock. |
1157 receiver variableNodesDo:aBlock. |
1156 argArray notNil ifTrue:[ |
1158 argArray notNil ifTrue:[ |
1157 argArray do:[:arg | arg variableNodesDo:aBlock]. |
1159 argArray do:[:arg | arg variableNodesDo:aBlock]. |
1158 ] |
1160 ] |
1159 ! ! |
1161 ! ! |
|
1162 |
1160 |
1163 |
1161 !MessageNode methodsFor:'evaluation'! |
1164 !MessageNode methodsFor:'evaluation'! |
1162 |
1165 |
1163 evaluateForCascadeIn:anEnvironment |
1166 evaluateForCascadeIn:anEnvironment |
1164 ^ self evaluateIn:anEnvironment forCascade:true |
1167 ^ self evaluateIn:anEnvironment forCascade:true |
1231 ! |
1234 ! |
1232 |
1235 |
1233 evaluationSelector |
1236 evaluationSelector |
1234 ^ selector asSymbol |
1237 ^ selector asSymbol |
1235 ! ! |
1238 ! ! |
|
1239 |
1236 |
1240 |
1237 !MessageNode methodsFor:'optimized code generation'! |
1241 !MessageNode methodsFor:'optimized code generation'! |
1238 |
1242 |
1239 codeAndIfElseOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler |
1243 codeAndIfElseOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler |
1240 "generate code for (x and:[y]) ifxxx:[ ... ] ifyyy:[ ... ]" |
1244 "generate code for (x and:[y]) ifxxx:[ ... ] ifyyy:[ ... ]" |