pub enum Term {
Fallthrough,
Goto,
Cond {
cond: Expr,
},
Switch {
selector: Expr,
targets: SwitchTargets,
default: Option<u32>,
},
Return(Option<Expr>),
Throw(Expr),
Jsr,
Ret,
}Expand description
How a basic block ends.
Variants§
Fallthrough
Goto
Cond
Jumps to succ[1] when cond is true; falls through to succ[0].
Switch
A multi-way branch. default is the machine offset of the default
arm when the front-end can identify it (JVM: the switch payload’s
default; DEX: the packed-switch/sparse-switch payload’s default);
None means “unknown / not recorded”.
Return(Option<Expr>)
Throw(Expr)
Jsr
Legacy jsr (JVM only; kept so legacy class files can be modelled).
Ret
Legacy ret (JVM only).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Term
impl RefUnwindSafe for Term
impl Send for Term
impl Sync for Term
impl Unpin for Term
impl UnsafeUnpin for Term
impl UnwindSafe for Term
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more