Class MessageNode


back
compile2: encoder block: inBlock
self argumentsAreBlock ifTrue: [
name = 'ifTrue:' ifTrue: [ ^ self compile: encoder
test: 8 constant: 10 block: inBlock ].
name = 'ifFalse:' ifTrue: [ ^ self compile: encoder
test: 7 constant: 10 block: inBlock ].
name = 'and:' ifTrue: [ ^ self compile: encoder
test: 8 constant: 12 block: inBlock ].
name = 'or:' ifTrue: [ ^ self compile: encoder
test: 7 constant: 11 block: inBlock ].
name = 'ifTrue:ifFalse:'
ifTrue: [ ^ self optimizeIf: encoder block: inBlock ].
].
self evaluateArguments: encoder block: inBlock.
name = '<' ifTrue: [ ^ encoder genHigh: 11 low: 0].
name = '<=' ifTrue: [ ^ encoder genHigh: 11 low: 1].
name = '+' ifTrue: [ ^ encoder genHigh: 11 low: 2].
self sendMessage: encoder block: inBlock