MessageNode.st
changeset 567 a6e4c44ff326
parent 565 00673e9d6edc
child 570 e55ab798d077
equal deleted inserted replaced
566:90969df02c85 567:a6e4c44ff326
   833 
   833 
   834             (selector == #timesRepeat:) ifTrue:[
   834             (selector == #timesRepeat:) ifTrue:[
   835                 "/ now, always inline #timesRepeat:;
   835                 "/ now, always inline #timesRepeat:;
   836                 "/ the receiver must understand #> and #-
   836                 "/ the receiver must understand #> and #-
   837                 
   837                 
   838 "/                (receiver isConstant and:[receiver evaluate isNumber]) ifTrue:[
   838                ^ self codeTimesRepeatOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler.
   839                     ^ self codeTimesRepeatOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler.
       
   840 "/                ]
       
   841             ].
   839             ].
   842 
   840 
   843             ((selector == #whileTrue:) or:[selector == #whileFalse:]) ifTrue:[
   841             ((selector == #whileTrue:) or:[selector == #whileFalse:]) ifTrue:[
   844                 (receiver isBlock) ifTrue:[
   842                 (receiver isBlock) ifTrue:[
   845                     ^ self codeWhileOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler.
   843                     ^ self codeWhileOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler.
  1062     valueNeeded ifFalse:[
  1060     valueNeeded ifFalse:[
  1063         aStream nextPut:#drop
  1061         aStream nextPut:#drop
  1064     ].
  1062     ].
  1065 
  1063 
  1066     "Modified: 3.9.1995 / 12:55:42 / claus"
  1064     "Modified: 3.9.1995 / 12:55:42 / claus"
  1067     "Modified: 27.6.1997 / 13:41:41 / cg"
  1065     "Modified: 27.6.1997 / 15:08:45 / cg"
  1068 !
  1066 !
  1069 
  1067 
  1070 codeOrIfElseOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler
  1068 codeOrIfElseOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler
  1071     "generate code for (x or:[y]) ifxxx:[ ... ] ifyyy:[ ... ]"
  1069     "generate code for (x or:[y]) ifxxx:[ ... ] ifyyy:[ ... ]"
  1072 
  1070 
  2120 ! !
  2118 ! !
  2121 
  2119 
  2122 !MessageNode class methodsFor:'documentation'!
  2120 !MessageNode class methodsFor:'documentation'!
  2123 
  2121 
  2124 version
  2122 version
  2125     ^ '$Header: /cvs/stx/stx/libcomp/MessageNode.st,v 1.74 1997-06-27 12:08:18 cg Exp $'
  2123     ^ '$Header: /cvs/stx/stx/libcomp/MessageNode.st,v 1.75 1997-06-27 16:33:17 cg Exp $'
  2126 ! !
  2124 ! !