pub enum Terminal {
Show 22 variants
Unsupported {
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
Unreachable {
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
Throw {
value: Place,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
Return {
value: Place,
return_variant: ReturnVariant,
id: EvaluationOrder,
loc: Option<SourceLocation>,
effects: Option<Vec<AliasingEffect>>,
},
Goto {
block: BlockId,
variant: GotoVariant,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
If {
test: Place,
consequent: BlockId,
alternate: BlockId,
fallthrough: BlockId,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
Branch {
test: Place,
consequent: BlockId,
alternate: BlockId,
fallthrough: BlockId,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
Switch {
test: Place,
cases: Vec<Case>,
fallthrough: BlockId,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
DoWhile {
loop_block: BlockId,
test: BlockId,
fallthrough: BlockId,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
While {
test: BlockId,
loop_block: BlockId,
fallthrough: BlockId,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
For {
init: BlockId,
test: BlockId,
update: Option<BlockId>,
loop_block: BlockId,
fallthrough: BlockId,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
ForOf {
init: BlockId,
test: BlockId,
loop_block: BlockId,
fallthrough: BlockId,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
ForIn {
init: BlockId,
loop_block: BlockId,
fallthrough: BlockId,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
Logical {
operator: LogicalOperator,
test: BlockId,
fallthrough: BlockId,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
Ternary {
test: BlockId,
fallthrough: BlockId,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
Optional {
optional: bool,
test: BlockId,
fallthrough: BlockId,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
Label {
block: BlockId,
fallthrough: BlockId,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
Sequence {
block: BlockId,
fallthrough: BlockId,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
MaybeThrow {
continuation: BlockId,
handler: Option<BlockId>,
id: EvaluationOrder,
loc: Option<SourceLocation>,
effects: Option<Vec<AliasingEffect>>,
},
Try {
block: BlockId,
handler_binding: Option<Place>,
handler: BlockId,
fallthrough: BlockId,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
Scope {
fallthrough: BlockId,
block: BlockId,
scope: ScopeId,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
PrunedScope {
fallthrough: BlockId,
block: BlockId,
scope: ScopeId,
id: EvaluationOrder,
loc: Option<SourceLocation>,
},
}Variants§
Unsupported
Unreachable
Throw
Return
Fields
§
return_variant: ReturnVariant§
id: EvaluationOrder§
loc: Option<SourceLocation>§
effects: Option<Vec<AliasingEffect>>Goto
If
Branch
Switch
DoWhile
While
For
ForOf
ForIn
Logical
Ternary
Optional
Label
Sequence
MaybeThrow
Try
Scope
PrunedScope
Implementations§
Source§impl Terminal
impl Terminal
Sourcepub fn evaluation_order(&self) -> EvaluationOrder
pub fn evaluation_order(&self) -> EvaluationOrder
Get the evaluation order of this terminal
Sourcepub fn loc(&self) -> Option<&SourceLocation>
pub fn loc(&self) -> Option<&SourceLocation>
Get the source location of this terminal
Sourcepub fn set_evaluation_order(&mut self, new_id: EvaluationOrder)
pub fn set_evaluation_order(&mut self, new_id: EvaluationOrder)
Set the evaluation order of this terminal
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Terminal
impl RefUnwindSafe for Terminal
impl Send for Terminal
impl Sync for Terminal
impl Unpin for Terminal
impl UnsafeUnpin for Terminal
impl UnwindSafe for Terminal
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