Class MessageNode


back
compile: encoder block: inBlock
receiver isNil
ifTrue: [ ^ self cascade: encoder block: inBlock ].
((receiver isBlock and: [ self argumentsAreBlock ])
and: [name = 'whileTrue:' or: [ name = 'whileFalse:' ] ] )
ifTrue: [ ^ self optimizeWhile: encoder block: inBlock ].
receiver compile: encoder block: inBlock.
receiver isSuper
ifTrue: [ ^ self sendToSuper: encoder block: inBlock ].
name = 'isNil' ifTrue: [ ^ encoder genHigh: 10 low: 0 ].
name = 'notNil' ifTrue: [ ^ encoder genHigh: 10 low: 1 ].
self compile2: encoder block: inBlock