Enum charon_lib::ast::ullbc_ast::SwitchTargets   
source · pub enum SwitchTargets {
    If(BlockId, BlockId),
    SwitchInt(IntegerTy, Vec<(ScalarValue, BlockId)>, BlockId),
}Variants§
If(BlockId, BlockId)
Gives the if block and the else block
SwitchInt(IntegerTy, Vec<(ScalarValue, BlockId)>, BlockId)
Gives the integer type, a map linking values to switch branches, and the otherwise block. Note that matches over enumerations are performed by switching over the discriminant, which is an integer.
Implementations§
source§impl SwitchTargets
 
impl SwitchTargets
source§impl SwitchTargets
 
impl SwitchTargets
source§impl SwitchTargets
 
impl SwitchTargets
source§impl SwitchTargets
 
impl SwitchTargets
pub fn variant_name(&self) -> &'static str
source§impl SwitchTargets
 
impl SwitchTargets
pub fn variant_index_arity(&self) -> (u32, usize)
source§impl SwitchTargets
 
impl SwitchTargets
pub fn get_targets(&self) -> Vec<BlockId>
Trait Implementations§
source§impl Clone for SwitchTargets
 
impl Clone for SwitchTargets
source§fn clone(&self) -> SwitchTargets
 
fn clone(&self) -> SwitchTargets
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from 
source. Read moresource§impl Debug for SwitchTargets
 
impl Debug for SwitchTargets
source§impl<'de> Deserialize<'de> for SwitchTargets
 
impl<'de> Deserialize<'de> for SwitchTargets
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
    __D: Deserializer<'de>,
 
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
    __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl DriveMut for SwitchTargets
 
impl DriveMut for SwitchTargets
Auto Trait Implementations§
impl Freeze for SwitchTargets
impl RefUnwindSafe for SwitchTargets
impl Send for SwitchTargets
impl Sync for SwitchTargets
impl Unpin for SwitchTargets
impl UnwindSafe for SwitchTargets
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
 
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)§impl<I, T> ExtractContext<I, ()> for T
 
impl<I, T> ExtractContext<I, ()> for T
§fn extract_context(self, _original_input: I)
 
fn extract_context(self, _original_input: I)
Given the context attached to a nom error, and given the original
input to the nom parser, extract more the useful context information. Read more
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<I> RecreateContext<I> for I
 
impl<I> RecreateContext<I> for I
§fn recreate_context(_original_input: I, tail: I) -> I
 
fn recreate_context(_original_input: I, tail: I) -> I
Given the original input, as well as the context reported by nom,
recreate a context in the original string where the error occurred. Read more