pub struct Switch { /* private fields */ }Expand description
The switch statement evaluates an expression, matching the expression’s value to a case
clause, and executes statements associated with that case, as well as statements in cases
that follow the matching case.
A switch statement first evaluates its expression. It then looks for the first case
clause whose expression evaluates to the same value as the result of the input expression
(using the strict comparison, ===) and transfers control to that clause, executing the
associated statements. (If multiple cases match the provided value, the first case that
matches is selected, even if the cases are not equal to each other.)
More information:
Implementations§
Source§impl Switch
impl Switch
Sourcepub fn new(val: Expression, cases: Box<[Case]>) -> Self
pub fn new(val: Expression, cases: Box<[Case]>) -> Self
Creates a Switch AST node.
Sourcepub const fn val(&self) -> &Expression
pub const fn val(&self) -> &Expression
Gets the value to switch.
Sourcepub fn default(&self) -> Option<&StatementList>
pub fn default(&self) -> Option<&StatementList>
Gets the default statement list, if any.
Trait Implementations§
Source§impl<'arbitrary> Arbitrary<'arbitrary> for Switch
impl<'arbitrary> Arbitrary<'arbitrary> for Switch
Source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
Generate an arbitrary value of
Self from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
Generate an arbitrary value of
Self from the entirety of the given
unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Get a size hint for how many bytes out of an
Unstructured this type
needs to construct itself. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Get a size hint for how many bytes out of an
Unstructured this type
needs to construct itself. Read moreSource§impl<'de> Deserialize<'de> for Switch
impl<'de> Deserialize<'de> for Switch
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<'a> From<&'a mut Switch> for NodeRefMut<'a>
impl<'a> From<&'a mut Switch> for NodeRefMut<'a>
Source§fn from(node: &'a mut Switch) -> NodeRefMut<'a>
fn from(node: &'a mut Switch) -> NodeRefMut<'a>
Converts to this type from the input type.
Source§impl ToIndentedString for Switch
impl ToIndentedString for Switch
Source§impl VisitWith for Switch
impl VisitWith for Switch
Source§fn visit_with<'a, V>(&'a self, visitor: &mut V) -> ControlFlow<V::BreakTy>where
V: Visitor<'a>,
fn visit_with<'a, V>(&'a self, visitor: &mut V) -> ControlFlow<V::BreakTy>where
V: Visitor<'a>,
Visit this node with the provided visitor.
Source§fn visit_with_mut<'a, V>(
&'a mut self,
visitor: &mut V,
) -> ControlFlow<V::BreakTy>where
V: VisitorMut<'a>,
fn visit_with_mut<'a, V>(
&'a mut self,
visitor: &mut V,
) -> ControlFlow<V::BreakTy>where
V: VisitorMut<'a>,
Visit this node with the provided visitor mutably, allowing the visitor to modify private
fields.
impl StructuralPartialEq for Switch
Auto Trait Implementations§
impl Freeze for Switch
impl !RefUnwindSafe for Switch
impl !Send for Switch
impl !Sync for Switch
impl Unpin for Switch
impl !UnwindSafe for Switch
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<T> ToInternedString for Twhere
T: ToIndentedString,
impl<T> ToInternedString for Twhere
T: ToIndentedString,
Source§fn to_interned_string(&self, interner: &Interner) -> String
fn to_interned_string(&self, interner: &Interner) -> String
Converts a given element to a string using an interner.