pub struct EffectIR {
pub opcode: EffectOpcode,
pub payload: usize,
pub member_ref: Option<MemberRef>,
}Expand description
Effect operation with symbolic member references. Used during compilation; resolved to EffectOp during emission.
Fields§
§opcode: EffectOpcode§payload: usizePayload for effects that don’t use member indices.
member_ref: Option<MemberRef>Member reference for Set/E effects (None for other effects).
Implementations§
Source§impl EffectIR
impl EffectIR
Sourcepub fn simple(opcode: EffectOpcode, payload: usize) -> Self
pub fn simple(opcode: EffectOpcode, payload: usize) -> Self
Create a simple effect without member reference.
Sourcepub fn with_member(opcode: EffectOpcode, member_ref: MemberRef) -> Self
pub fn with_member(opcode: EffectOpcode, member_ref: MemberRef) -> Self
Create an effect with a member reference.
Sourcepub fn start_enum() -> Self
pub fn start_enum() -> Self
Begin enum scope.
Sourcepub fn suppress_begin() -> Self
pub fn suppress_begin() -> Self
Begin suppression (suppress effects within).
Sourcepub fn suppress_end() -> Self
pub fn suppress_end() -> Self
End suppression.
Trait Implementations§
impl Eq for EffectIR
impl StructuralPartialEq for EffectIR
Auto Trait Implementations§
impl Freeze for EffectIR
impl RefUnwindSafe for EffectIR
impl Send for EffectIR
impl Sync for EffectIR
impl Unpin for EffectIR
impl UnwindSafe for EffectIR
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.