Enum rustpython_ast::Pattern
source · pub enum Pattern<R = TextRange> {
MatchValue(PatternMatchValue<R>),
MatchSingleton(PatternMatchSingleton<R>),
MatchSequence(PatternMatchSequence<R>),
MatchMapping(PatternMatchMapping<R>),
MatchClass(PatternMatchClass<R>),
MatchStar(PatternMatchStar<R>),
MatchAs(PatternMatchAs<R>),
MatchOr(PatternMatchOr<R>),
}
Expand description
See also pattern
Variants§
MatchValue(PatternMatchValue<R>)
MatchSingleton(PatternMatchSingleton<R>)
MatchSequence(PatternMatchSequence<R>)
MatchMapping(PatternMatchMapping<R>)
MatchClass(PatternMatchClass<R>)
MatchStar(PatternMatchStar<R>)
MatchAs(PatternMatchAs<R>)
MatchOr(PatternMatchOr<R>)
Implementations§
source§impl<R> Pattern<R>
impl<R> Pattern<R>
sourcepub const fn is_match_value(&self) -> bool
pub const fn is_match_value(&self) -> bool
Returns true
if self
is of variant MatchValue
.
sourcepub fn as_match_value(&self) -> Option<&PatternMatchValue<R>>
pub fn as_match_value(&self) -> Option<&PatternMatchValue<R>>
Returns Some
if self
is a reference of variant MatchValue
, and None
otherwise.
sourcepub fn as_mut_match_value(&mut self) -> Option<&mut PatternMatchValue<R>>
pub fn as_mut_match_value(&mut self) -> Option<&mut PatternMatchValue<R>>
Returns Some
if self
is a mutable reference of variant MatchValue
, and None
otherwise.
sourcepub fn expect_match_value(self) -> PatternMatchValue<R>where
Self: Debug,
pub fn expect_match_value(self) -> PatternMatchValue<R>where
Self: Debug,
Unwraps the value, yielding the content of MatchValue
.
§Panics
Panics if the value is not MatchValue
, with a panic message including the content of self
.
sourcepub fn match_value(self) -> Option<PatternMatchValue<R>>
pub fn match_value(self) -> Option<PatternMatchValue<R>>
Returns Some
if self
is of variant MatchValue
, and None
otherwise.
sourcepub const fn is_match_singleton(&self) -> bool
pub const fn is_match_singleton(&self) -> bool
Returns true
if self
is of variant MatchSingleton
.
sourcepub fn as_match_singleton(&self) -> Option<&PatternMatchSingleton<R>>
pub fn as_match_singleton(&self) -> Option<&PatternMatchSingleton<R>>
Returns Some
if self
is a reference of variant MatchSingleton
, and None
otherwise.
sourcepub fn as_mut_match_singleton(
&mut self,
) -> Option<&mut PatternMatchSingleton<R>>
pub fn as_mut_match_singleton( &mut self, ) -> Option<&mut PatternMatchSingleton<R>>
Returns Some
if self
is a mutable reference of variant MatchSingleton
, and None
otherwise.
sourcepub fn expect_match_singleton(self) -> PatternMatchSingleton<R>where
Self: Debug,
pub fn expect_match_singleton(self) -> PatternMatchSingleton<R>where
Self: Debug,
Unwraps the value, yielding the content of MatchSingleton
.
§Panics
Panics if the value is not MatchSingleton
, with a panic message including the content of self
.
sourcepub fn match_singleton(self) -> Option<PatternMatchSingleton<R>>
pub fn match_singleton(self) -> Option<PatternMatchSingleton<R>>
Returns Some
if self
is of variant MatchSingleton
, and None
otherwise.
sourcepub const fn is_match_sequence(&self) -> bool
pub const fn is_match_sequence(&self) -> bool
Returns true
if self
is of variant MatchSequence
.
sourcepub fn as_match_sequence(&self) -> Option<&PatternMatchSequence<R>>
pub fn as_match_sequence(&self) -> Option<&PatternMatchSequence<R>>
Returns Some
if self
is a reference of variant MatchSequence
, and None
otherwise.
sourcepub fn as_mut_match_sequence(&mut self) -> Option<&mut PatternMatchSequence<R>>
pub fn as_mut_match_sequence(&mut self) -> Option<&mut PatternMatchSequence<R>>
Returns Some
if self
is a mutable reference of variant MatchSequence
, and None
otherwise.
sourcepub fn expect_match_sequence(self) -> PatternMatchSequence<R>where
Self: Debug,
pub fn expect_match_sequence(self) -> PatternMatchSequence<R>where
Self: Debug,
Unwraps the value, yielding the content of MatchSequence
.
§Panics
Panics if the value is not MatchSequence
, with a panic message including the content of self
.
sourcepub fn match_sequence(self) -> Option<PatternMatchSequence<R>>
pub fn match_sequence(self) -> Option<PatternMatchSequence<R>>
Returns Some
if self
is of variant MatchSequence
, and None
otherwise.
sourcepub const fn is_match_mapping(&self) -> bool
pub const fn is_match_mapping(&self) -> bool
Returns true
if self
is of variant MatchMapping
.
sourcepub fn as_match_mapping(&self) -> Option<&PatternMatchMapping<R>>
pub fn as_match_mapping(&self) -> Option<&PatternMatchMapping<R>>
Returns Some
if self
is a reference of variant MatchMapping
, and None
otherwise.
sourcepub fn as_mut_match_mapping(&mut self) -> Option<&mut PatternMatchMapping<R>>
pub fn as_mut_match_mapping(&mut self) -> Option<&mut PatternMatchMapping<R>>
Returns Some
if self
is a mutable reference of variant MatchMapping
, and None
otherwise.
sourcepub fn expect_match_mapping(self) -> PatternMatchMapping<R>where
Self: Debug,
pub fn expect_match_mapping(self) -> PatternMatchMapping<R>where
Self: Debug,
Unwraps the value, yielding the content of MatchMapping
.
§Panics
Panics if the value is not MatchMapping
, with a panic message including the content of self
.
sourcepub fn match_mapping(self) -> Option<PatternMatchMapping<R>>
pub fn match_mapping(self) -> Option<PatternMatchMapping<R>>
Returns Some
if self
is of variant MatchMapping
, and None
otherwise.
sourcepub const fn is_match_class(&self) -> bool
pub const fn is_match_class(&self) -> bool
Returns true
if self
is of variant MatchClass
.
sourcepub fn as_match_class(&self) -> Option<&PatternMatchClass<R>>
pub fn as_match_class(&self) -> Option<&PatternMatchClass<R>>
Returns Some
if self
is a reference of variant MatchClass
, and None
otherwise.
sourcepub fn as_mut_match_class(&mut self) -> Option<&mut PatternMatchClass<R>>
pub fn as_mut_match_class(&mut self) -> Option<&mut PatternMatchClass<R>>
Returns Some
if self
is a mutable reference of variant MatchClass
, and None
otherwise.
sourcepub fn expect_match_class(self) -> PatternMatchClass<R>where
Self: Debug,
pub fn expect_match_class(self) -> PatternMatchClass<R>where
Self: Debug,
Unwraps the value, yielding the content of MatchClass
.
§Panics
Panics if the value is not MatchClass
, with a panic message including the content of self
.
sourcepub fn match_class(self) -> Option<PatternMatchClass<R>>
pub fn match_class(self) -> Option<PatternMatchClass<R>>
Returns Some
if self
is of variant MatchClass
, and None
otherwise.
sourcepub const fn is_match_star(&self) -> bool
pub const fn is_match_star(&self) -> bool
Returns true
if self
is of variant MatchStar
.
sourcepub fn as_match_star(&self) -> Option<&PatternMatchStar<R>>
pub fn as_match_star(&self) -> Option<&PatternMatchStar<R>>
Returns Some
if self
is a reference of variant MatchStar
, and None
otherwise.
sourcepub fn as_mut_match_star(&mut self) -> Option<&mut PatternMatchStar<R>>
pub fn as_mut_match_star(&mut self) -> Option<&mut PatternMatchStar<R>>
Returns Some
if self
is a mutable reference of variant MatchStar
, and None
otherwise.
sourcepub fn expect_match_star(self) -> PatternMatchStar<R>where
Self: Debug,
pub fn expect_match_star(self) -> PatternMatchStar<R>where
Self: Debug,
sourcepub fn match_star(self) -> Option<PatternMatchStar<R>>
pub fn match_star(self) -> Option<PatternMatchStar<R>>
Returns Some
if self
is of variant MatchStar
, and None
otherwise.
sourcepub const fn is_match_as(&self) -> bool
pub const fn is_match_as(&self) -> bool
Returns true
if self
is of variant MatchAs
.
sourcepub fn as_match_as(&self) -> Option<&PatternMatchAs<R>>
pub fn as_match_as(&self) -> Option<&PatternMatchAs<R>>
Returns Some
if self
is a reference of variant MatchAs
, and None
otherwise.
sourcepub fn as_mut_match_as(&mut self) -> Option<&mut PatternMatchAs<R>>
pub fn as_mut_match_as(&mut self) -> Option<&mut PatternMatchAs<R>>
Returns Some
if self
is a mutable reference of variant MatchAs
, and None
otherwise.
sourcepub fn expect_match_as(self) -> PatternMatchAs<R>where
Self: Debug,
pub fn expect_match_as(self) -> PatternMatchAs<R>where
Self: Debug,
sourcepub fn match_as(self) -> Option<PatternMatchAs<R>>
pub fn match_as(self) -> Option<PatternMatchAs<R>>
Returns Some
if self
is of variant MatchAs
, and None
otherwise.
sourcepub const fn is_match_or(&self) -> bool
pub const fn is_match_or(&self) -> bool
Returns true
if self
is of variant MatchOr
.
sourcepub fn as_match_or(&self) -> Option<&PatternMatchOr<R>>
pub fn as_match_or(&self) -> Option<&PatternMatchOr<R>>
Returns Some
if self
is a reference of variant MatchOr
, and None
otherwise.
sourcepub fn as_mut_match_or(&mut self) -> Option<&mut PatternMatchOr<R>>
pub fn as_mut_match_or(&mut self) -> Option<&mut PatternMatchOr<R>>
Returns Some
if self
is a mutable reference of variant MatchOr
, and None
otherwise.
sourcepub fn expect_match_or(self) -> PatternMatchOr<R>where
Self: Debug,
pub fn expect_match_or(self) -> PatternMatchOr<R>where
Self: Debug,
sourcepub fn match_or(self) -> Option<PatternMatchOr<R>>
pub fn match_or(self) -> Option<PatternMatchOr<R>>
Returns Some
if self
is of variant MatchOr
, and None
otherwise.
Trait Implementations§
source§impl<R> From<PatternMatchAs<R>> for Pattern<R>
impl<R> From<PatternMatchAs<R>> for Pattern<R>
source§fn from(payload: PatternMatchAs<R>) -> Self
fn from(payload: PatternMatchAs<R>) -> Self
source§impl<R> From<PatternMatchClass<R>> for Pattern<R>
impl<R> From<PatternMatchClass<R>> for Pattern<R>
source§fn from(payload: PatternMatchClass<R>) -> Self
fn from(payload: PatternMatchClass<R>) -> Self
source§impl<R> From<PatternMatchMapping<R>> for Pattern<R>
impl<R> From<PatternMatchMapping<R>> for Pattern<R>
source§fn from(payload: PatternMatchMapping<R>) -> Self
fn from(payload: PatternMatchMapping<R>) -> Self
source§impl<R> From<PatternMatchOr<R>> for Pattern<R>
impl<R> From<PatternMatchOr<R>> for Pattern<R>
source§fn from(payload: PatternMatchOr<R>) -> Self
fn from(payload: PatternMatchOr<R>) -> Self
source§impl<R> From<PatternMatchSequence<R>> for Pattern<R>
impl<R> From<PatternMatchSequence<R>> for Pattern<R>
source§fn from(payload: PatternMatchSequence<R>) -> Self
fn from(payload: PatternMatchSequence<R>) -> Self
source§impl<R> From<PatternMatchSingleton<R>> for Pattern<R>
impl<R> From<PatternMatchSingleton<R>> for Pattern<R>
source§fn from(payload: PatternMatchSingleton<R>) -> Self
fn from(payload: PatternMatchSingleton<R>) -> Self
source§impl<R> From<PatternMatchStar<R>> for Pattern<R>
impl<R> From<PatternMatchStar<R>> for Pattern<R>
source§fn from(payload: PatternMatchStar<R>) -> Self
fn from(payload: PatternMatchStar<R>) -> Self
source§impl<R> From<PatternMatchValue<R>> for Pattern<R>
impl<R> From<PatternMatchValue<R>> for Pattern<R>
source§fn from(payload: PatternMatchValue<R>) -> Self
fn from(payload: PatternMatchValue<R>) -> Self
impl<R> StructuralPartialEq for Pattern<R>
Auto Trait Implementations§
impl<R> Freeze for Pattern<R>where
R: Freeze,
impl<R> RefUnwindSafe for Pattern<R>where
R: RefUnwindSafe,
impl<R> Send for Pattern<R>where
R: Send,
impl<R> Sync for Pattern<R>where
R: Sync,
impl<R> Unpin for Pattern<R>where
R: Unpin,
impl<R> UnwindSafe for Pattern<R>where
R: UnwindSafe,
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
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)
clone_to_uninit
)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>
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>
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