equal
deleted
inserted
replaced
830 (selector == #and:) ifTrue:[ |
830 (selector == #and:) ifTrue:[ |
831 ^ self codeAndOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler. |
831 ^ self codeAndOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler. |
832 ]. |
832 ]. |
833 |
833 |
834 (selector == #timesRepeat:) ifTrue:[ |
834 (selector == #timesRepeat:) ifTrue:[ |
835 (receiver isConstant and:[receiver evaluate isNumber]) ifTrue:[ |
835 "/ now, always inline #timesRepeat:; |
|
836 "/ the receiver must understand #> and #- |
|
837 |
|
838 "/ (receiver isConstant and:[receiver evaluate isNumber]) ifTrue:[ |
836 ^ self codeTimesRepeatOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler. |
839 ^ self codeTimesRepeatOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler. |
837 ] |
840 "/ ] |
838 ]. |
841 ]. |
839 |
842 |
840 ((selector == #whileTrue:) or:[selector == #whileFalse:]) ifTrue:[ |
843 ((selector == #whileTrue:) or:[selector == #whileFalse:]) ifTrue:[ |
841 (receiver isBlock) ifTrue:[ |
844 (receiver isBlock) ifTrue:[ |
842 ^ self codeWhileOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler. |
845 ^ self codeWhileOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler. |
1043 valueNeeded ifFalse:[ |
1046 valueNeeded ifFalse:[ |
1044 aStream nextPut:#drop |
1047 aStream nextPut:#drop |
1045 ]. |
1048 ]. |
1046 |
1049 |
1047 "Modified: 3.9.1995 / 12:55:42 / claus" |
1050 "Modified: 3.9.1995 / 12:55:42 / claus" |
1048 "Modified: 26.6.1997 / 10:59:49 / cg" |
1051 "Modified: 26.6.1997 / 13:22:08 / cg" |
1049 ! |
1052 ! |
1050 |
1053 |
1051 codeOrIfElseOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler |
1054 codeOrIfElseOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler |
1052 "generate code for (x or:[y]) ifxxx:[ ... ] ifyyy:[ ... ]" |
1055 "generate code for (x or:[y]) ifxxx:[ ... ] ifyyy:[ ... ]" |
1053 |
1056 |
1924 ! ! |
1927 ! ! |
1925 |
1928 |
1926 !MessageNode class methodsFor:'documentation'! |
1929 !MessageNode class methodsFor:'documentation'! |
1927 |
1930 |
1928 version |
1931 version |
1929 ^ '$Header: /cvs/stx/stx/libcomp/Attic/MessageNd.st,v 1.72 1997-06-26 09:04:37 cg Exp $' |
1932 ^ '$Header: /cvs/stx/stx/libcomp/Attic/MessageNd.st,v 1.73 1997-06-26 11:22:48 cg Exp $' |
1930 ! ! |
1933 ! ! |