MessageNd.st
changeset 564 ffac5191213f
parent 561 19279079cc9a
child 565 00673e9d6edc
equal deleted inserted replaced
563:867f6e0b8eb4 564:ffac5191213f
   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 ! !