Enum swc_ecma_ast::PatOrExpr
source · pub enum PatOrExpr {
Expr(Box<Expr>),
Pat(Box<Pat>),
}
Variants§
Implementations§
source§impl PatOrExpr
impl PatOrExpr
sourcepub fn expr(self) -> Option<Box<Expr>>
pub fn expr(self) -> Option<Box<Expr>>
Returns the Expr if this is an expression, otherwise returns
None
.
pub fn expect_pat(self) -> Box<Pat>
pub fn expect_expr(self) -> Box<Expr>
pub fn as_pat(&self) -> Option<&Pat>
pub fn as_expr(&self) -> Option<&Expr>
pub fn is_pat(&self) -> bool
pub fn is_expr(&self) -> bool
pub fn as_ident(&self) -> Option<&Ident>
pub fn as_ident_mut(&mut self) -> Option<&mut Ident>
pub fn normalize_expr(self) -> Self
pub fn normalize_ident(self) -> Self
Trait Implementations§
source§impl Archive for PatOrExpr
impl Archive for PatOrExpr
source§impl<'de> Deserialize<'de> for PatOrExpr
impl<'de> Deserialize<'de> for PatOrExpr
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<__D> Deserialize<PatOrExpr, __D> for Archived<PatOrExpr>where
__D: SharedDeserializeRegistry + Fallible + ?Sized,
impl<__D> Deserialize<PatOrExpr, __D> for Archived<PatOrExpr>where __D: SharedDeserializeRegistry + Fallible + ?Sized,
source§impl EqIgnoreSpan for PatOrExpr
impl EqIgnoreSpan for PatOrExpr
fn eq_ignore_span(&self, other: &Self) -> bool
source§impl From<(Atom<JsWordStaticSet>, SyntaxContext)> for PatOrExpr
impl From<(Atom<JsWordStaticSet>, SyntaxContext)> for PatOrExpr
source§impl From<AssignExpr> for PatOrExpr
impl From<AssignExpr> for PatOrExpr
source§fn from(src: AssignExpr) -> PatOrExpr
fn from(src: AssignExpr) -> PatOrExpr
Converts to this type from the input type.
source§impl From<BindingIdent> for PatOrExpr
impl From<BindingIdent> for PatOrExpr
source§fn from(src: BindingIdent) -> PatOrExpr
fn from(src: BindingIdent) -> PatOrExpr
Converts to this type from the input type.
source§impl From<JSXEmptyExpr> for PatOrExpr
impl From<JSXEmptyExpr> for PatOrExpr
source§fn from(src: JSXEmptyExpr) -> PatOrExpr
fn from(src: JSXEmptyExpr) -> PatOrExpr
Converts to this type from the input type.
source§impl From<JSXFragment> for PatOrExpr
impl From<JSXFragment> for PatOrExpr
source§fn from(src: JSXFragment) -> PatOrExpr
fn from(src: JSXFragment) -> PatOrExpr
Converts to this type from the input type.
source§impl From<JSXMemberExpr> for PatOrExpr
impl From<JSXMemberExpr> for PatOrExpr
source§fn from(src: JSXMemberExpr) -> PatOrExpr
fn from(src: JSXMemberExpr) -> PatOrExpr
Converts to this type from the input type.
source§impl From<JSXNamespacedName> for PatOrExpr
impl From<JSXNamespacedName> for PatOrExpr
source§fn from(src: JSXNamespacedName) -> PatOrExpr
fn from(src: JSXNamespacedName) -> PatOrExpr
Converts to this type from the input type.
source§impl From<MemberExpr> for PatOrExpr
impl From<MemberExpr> for PatOrExpr
source§fn from(src: MemberExpr) -> PatOrExpr
fn from(src: MemberExpr) -> PatOrExpr
Converts to this type from the input type.
source§impl From<MetaPropExpr> for PatOrExpr
impl From<MetaPropExpr> for PatOrExpr
source§fn from(src: MetaPropExpr) -> PatOrExpr
fn from(src: MetaPropExpr) -> PatOrExpr
Converts to this type from the input type.
source§impl From<OptChainExpr> for PatOrExpr
impl From<OptChainExpr> for PatOrExpr
source§fn from(src: OptChainExpr) -> PatOrExpr
fn from(src: OptChainExpr) -> PatOrExpr
Converts to this type from the input type.
source§impl From<PrivateName> for PatOrExpr
impl From<PrivateName> for PatOrExpr
source§fn from(src: PrivateName) -> PatOrExpr
fn from(src: PrivateName) -> PatOrExpr
Converts to this type from the input type.
source§impl From<SuperPropExpr> for PatOrExpr
impl From<SuperPropExpr> for PatOrExpr
source§fn from(src: SuperPropExpr) -> PatOrExpr
fn from(src: SuperPropExpr) -> PatOrExpr
Converts to this type from the input type.
source§impl From<TsConstAssertion> for PatOrExpr
impl From<TsConstAssertion> for PatOrExpr
source§fn from(src: TsConstAssertion) -> PatOrExpr
fn from(src: TsConstAssertion) -> PatOrExpr
Converts to this type from the input type.
source§impl From<TsInstantiation> for PatOrExpr
impl From<TsInstantiation> for PatOrExpr
source§fn from(src: TsInstantiation) -> PatOrExpr
fn from(src: TsInstantiation) -> PatOrExpr
Converts to this type from the input type.
source§impl From<TsNonNullExpr> for PatOrExpr
impl From<TsNonNullExpr> for PatOrExpr
source§fn from(src: TsNonNullExpr) -> PatOrExpr
fn from(src: TsNonNullExpr) -> PatOrExpr
Converts to this type from the input type.
source§impl From<TsTypeAssertion> for PatOrExpr
impl From<TsTypeAssertion> for PatOrExpr
source§fn from(src: TsTypeAssertion) -> PatOrExpr
fn from(src: TsTypeAssertion) -> PatOrExpr
Converts to this type from the input type.
source§impl From<UpdateExpr> for PatOrExpr
impl From<UpdateExpr> for PatOrExpr
source§fn from(src: UpdateExpr) -> PatOrExpr
fn from(src: UpdateExpr) -> PatOrExpr
Converts to this type from the input type.
source§impl PartialEq<PatOrExpr> for PatOrExpr
impl PartialEq<PatOrExpr> for PatOrExpr
source§impl<__S> Serialize<__S> for PatOrExprwhere
__S: Serializer + ScratchSpace + SharedSerializeRegistry + Fallible + ?Sized,
impl<__S> Serialize<__S> for PatOrExprwhere __S: Serializer + ScratchSpace + SharedSerializeRegistry + Fallible + ?Sized,
impl Eq for PatOrExpr
impl StructuralEq for PatOrExpr
impl StructuralPartialEq for PatOrExpr
Auto Trait Implementations§
impl RefUnwindSafe for PatOrExpr
impl Send for PatOrExpr
impl Sync for PatOrExpr
impl Unpin for PatOrExpr
impl UnwindSafe for PatOrExpr
Blanket Implementations§
source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
source§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere T: Archive,
§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike
Archive
, it may be unsized. Read more§type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
source§unsafe fn resolve_metadata(
&self,
_: usize,
_: <T as ArchiveUnsized>::MetadataResolver,
_: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
)
unsafe fn resolve_metadata( &self, _: usize, _: <T as ArchiveUnsized>::MetadataResolver, _: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata )
Creates the archived version of the metadata for this value at the given position and writes
it to the given output. Read more
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> CallHasher for Twhere
T: Hash + ?Sized,
impl<T> CallHasher for Twhere T: Hash + ?Sized,
source§impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T, S> SerializeUnsized<S> for Twhere
T: Serialize<S>,
S: Serializer + ?Sized,
impl<T, S> SerializeUnsized<S> for Twhere T: Serialize<S>, S: Serializer + ?Sized,
source§impl<T> SpanExt for Twhere
T: Spanned,
impl<T> SpanExt for Twhere T: Spanned,
fn is_synthesized(&self) -> bool
fn starts_on_new_line(&self, format: ListFormat) -> bool
source§fn comment_range(&self) -> Span
fn comment_range(&self) -> Span
Gets a custom text range to use when emitting comments.