"{ Package: 'cvut:stx/goodies/newcompiler' }"
IRJump subclass:#IRJumpIf
instanceVariableNames:'boolean otherwise'
classVariableNames:''
poolDictionaries:''
category:'NewCompiler-IR'
!
IRJumpIf comment:'Instruction "if: boolean goto: labelNum1 otherwise: labelNum2"'
!
!IRJumpIf methodsFor:'acessing'!
boolean
^ boolean
!
boolean: bool
boolean _ bool
!
otherwise
^ otherwise
!
otherwise: aSequence
otherwise := aSequence
!
successorSequences
^ {destination. otherwise}
! !
!IRJumpIf methodsFor:'interpret'!
executeOn: interpreter
^ interpreter if: boolean goto: destination orderNumber otherwise: otherwise orderNumber
! !
!IRJumpIf methodsFor:'testing'!
isGoto
"is unconditional jump"
^ false
!
isIf
^ true
! !
!IRJumpIf class methodsFor:'documentation'!
version
^ '$Id$'
!
version_CVS
^ '§Header: /cvs/stx/cvut/stx/goodies/newcompiler/IRJumpIf.st,v 1.3 2009/10/08 12:05:24 fm Exp §'
!
version_SVN
^ '$Id:: $'
! !