Enum Expr
pub enum Expr {
Show 38 variants
This(ThisExpr),
Array(ArrayLit),
Object(ObjectLit),
Fn(FnExpr),
Unary(UnaryExpr),
Update(UpdateExpr),
Bin(BinExpr),
Assign(AssignExpr),
Member(MemberExpr),
SuperProp(SuperPropExpr),
Cond(CondExpr),
Call(CallExpr),
New(NewExpr),
Seq(SeqExpr),
Ident(Ident),
Lit(Lit),
Tpl(Tpl),
TaggedTpl(TaggedTpl),
Arrow(ArrowExpr),
Class(ClassExpr),
Yield(YieldExpr),
MetaProp(MetaPropExpr),
Await(AwaitExpr),
Paren(ParenExpr),
JSXMember(JSXMemberExpr),
JSXNamespacedName(JSXNamespacedName),
JSXEmpty(JSXEmptyExpr),
JSXElement(Box<JSXElement>),
JSXFragment(JSXFragment),
TsTypeAssertion(TsTypeAssertion),
TsConstAssertion(TsConstAssertion),
TsNonNull(TsNonNullExpr),
TsAs(TsAsExpr),
TsInstantiation(TsInstantiation),
TsSatisfies(TsSatisfiesExpr),
PrivateName(PrivateName),
OptChain(OptChainExpr),
Invalid(Invalid),
}
__ecma
and ecma_ast
only.Variants§
This(ThisExpr)
Array(ArrayLit)
Object(ObjectLit)
Fn(FnExpr)
Unary(UnaryExpr)
Update(UpdateExpr)
++v
, --v
, v++
, v--
Bin(BinExpr)
Assign(AssignExpr)
Member(MemberExpr)
A member expression. If computed is true, the node corresponds to a computed (a[b]) member expression and property is an Expression. If computed is false, the node corresponds to a static (a.b) member expression and property is an Identifier.
SuperProp(SuperPropExpr)
Cond(CondExpr)
true ? ‘a’ : ‘b’
Call(CallExpr)
New(NewExpr)
new Cat()
Seq(SeqExpr)
Ident(Ident)
Lit(Lit)
Tpl(Tpl)
TaggedTpl(TaggedTpl)
Arrow(ArrowExpr)
Class(ClassExpr)
Yield(YieldExpr)
MetaProp(MetaPropExpr)
Await(AwaitExpr)
Paren(ParenExpr)
JSXMember(JSXMemberExpr)
JSXNamespacedName(JSXNamespacedName)
JSXEmpty(JSXEmptyExpr)
JSXElement(Box<JSXElement>)
JSXFragment(JSXFragment)
TsTypeAssertion(TsTypeAssertion)
TsConstAssertion(TsConstAssertion)
TsNonNull(TsNonNullExpr)
TsAs(TsAsExpr)
TsInstantiation(TsInstantiation)
TsSatisfies(TsSatisfiesExpr)
PrivateName(PrivateName)
OptChain(OptChainExpr)
Invalid(Invalid)
Implementations§
§impl Expr
impl Expr
pub fn as_this(&self) -> Option<&ThisExpr>
pub fn as_this(&self) -> Option<&ThisExpr>
Returns Some
if self
is a reference of variant This
, and None
otherwise.
pub fn as_mut_this(&mut self) -> Option<&mut ThisExpr>
pub fn as_mut_this(&mut self) -> Option<&mut ThisExpr>
Returns Some
if self
is a mutable reference of variant This
, and None
otherwise.
pub fn expect_this(self) -> ThisExpr
pub fn expect_this(self) -> ThisExpr
pub fn as_array(&self) -> Option<&ArrayLit>
pub fn as_array(&self) -> Option<&ArrayLit>
Returns Some
if self
is a reference of variant Array
, and None
otherwise.
pub fn as_mut_array(&mut self) -> Option<&mut ArrayLit>
pub fn as_mut_array(&mut self) -> Option<&mut ArrayLit>
Returns Some
if self
is a mutable reference of variant Array
, and None
otherwise.
pub fn expect_array(self) -> ArrayLit
pub fn expect_array(self) -> ArrayLit
pub fn as_object(&self) -> Option<&ObjectLit>
pub fn as_object(&self) -> Option<&ObjectLit>
Returns Some
if self
is a reference of variant Object
, and None
otherwise.
pub fn as_mut_object(&mut self) -> Option<&mut ObjectLit>
pub fn as_mut_object(&mut self) -> Option<&mut ObjectLit>
Returns Some
if self
is a mutable reference of variant Object
, and None
otherwise.
pub fn expect_object(self) -> ObjectLit
pub fn expect_object(self) -> ObjectLit
pub fn object(self) -> Option<ObjectLit>
pub fn object(self) -> Option<ObjectLit>
Returns Some
if self
is of variant Object
, and None
otherwise.
pub const fn is_fn_expr(&self) -> bool
pub const fn is_fn_expr(&self) -> bool
Returns true
if self
is of variant Fn
.
pub fn as_fn_expr(&self) -> Option<&FnExpr>
pub fn as_fn_expr(&self) -> Option<&FnExpr>
Returns Some
if self
is a reference of variant Fn
, and None
otherwise.
pub fn as_mut_fn_expr(&mut self) -> Option<&mut FnExpr>
pub fn as_mut_fn_expr(&mut self) -> Option<&mut FnExpr>
Returns Some
if self
is a mutable reference of variant Fn
, and None
otherwise.
pub fn expect_fn_expr(self) -> FnExpr
pub fn expect_fn_expr(self) -> FnExpr
pub fn as_unary(&self) -> Option<&UnaryExpr>
pub fn as_unary(&self) -> Option<&UnaryExpr>
Returns Some
if self
is a reference of variant Unary
, and None
otherwise.
pub fn as_mut_unary(&mut self) -> Option<&mut UnaryExpr>
pub fn as_mut_unary(&mut self) -> Option<&mut UnaryExpr>
Returns Some
if self
is a mutable reference of variant Unary
, and None
otherwise.
pub fn expect_unary(self) -> UnaryExpr
pub fn expect_unary(self) -> UnaryExpr
pub fn unary(self) -> Option<UnaryExpr>
pub fn unary(self) -> Option<UnaryExpr>
Returns Some
if self
is of variant Unary
, and None
otherwise.
pub fn as_update(&self) -> Option<&UpdateExpr>
pub fn as_update(&self) -> Option<&UpdateExpr>
Returns Some
if self
is a reference of variant Update
, and None
otherwise.
pub fn as_mut_update(&mut self) -> Option<&mut UpdateExpr>
pub fn as_mut_update(&mut self) -> Option<&mut UpdateExpr>
Returns Some
if self
is a mutable reference of variant Update
, and None
otherwise.
pub fn expect_update(self) -> UpdateExpr
pub fn expect_update(self) -> UpdateExpr
pub fn update(self) -> Option<UpdateExpr>
pub fn update(self) -> Option<UpdateExpr>
Returns Some
if self
is of variant Update
, and None
otherwise.
pub fn as_bin(&self) -> Option<&BinExpr>
pub fn as_bin(&self) -> Option<&BinExpr>
Returns Some
if self
is a reference of variant Bin
, and None
otherwise.
pub fn as_mut_bin(&mut self) -> Option<&mut BinExpr>
pub fn as_mut_bin(&mut self) -> Option<&mut BinExpr>
Returns Some
if self
is a mutable reference of variant Bin
, and None
otherwise.
pub fn expect_bin(self) -> BinExpr
pub fn expect_bin(self) -> BinExpr
pub fn as_assign(&self) -> Option<&AssignExpr>
pub fn as_assign(&self) -> Option<&AssignExpr>
Returns Some
if self
is a reference of variant Assign
, and None
otherwise.
pub fn as_mut_assign(&mut self) -> Option<&mut AssignExpr>
pub fn as_mut_assign(&mut self) -> Option<&mut AssignExpr>
Returns Some
if self
is a mutable reference of variant Assign
, and None
otherwise.
pub fn expect_assign(self) -> AssignExpr
pub fn expect_assign(self) -> AssignExpr
pub fn assign(self) -> Option<AssignExpr>
pub fn assign(self) -> Option<AssignExpr>
Returns Some
if self
is of variant Assign
, and None
otherwise.
pub fn as_member(&self) -> Option<&MemberExpr>
pub fn as_member(&self) -> Option<&MemberExpr>
Returns Some
if self
is a reference of variant Member
, and None
otherwise.
pub fn as_mut_member(&mut self) -> Option<&mut MemberExpr>
pub fn as_mut_member(&mut self) -> Option<&mut MemberExpr>
Returns Some
if self
is a mutable reference of variant Member
, and None
otherwise.
pub fn expect_member(self) -> MemberExpr
pub fn expect_member(self) -> MemberExpr
pub fn member(self) -> Option<MemberExpr>
pub fn member(self) -> Option<MemberExpr>
Returns Some
if self
is of variant Member
, and None
otherwise.
pub const fn is_super_prop(&self) -> bool
pub const fn is_super_prop(&self) -> bool
Returns true
if self
is of variant SuperProp
.
pub fn as_super_prop(&self) -> Option<&SuperPropExpr>
pub fn as_super_prop(&self) -> Option<&SuperPropExpr>
Returns Some
if self
is a reference of variant SuperProp
, and None
otherwise.
pub fn as_mut_super_prop(&mut self) -> Option<&mut SuperPropExpr>
pub fn as_mut_super_prop(&mut self) -> Option<&mut SuperPropExpr>
Returns Some
if self
is a mutable reference of variant SuperProp
, and None
otherwise.
pub fn expect_super_prop(self) -> SuperPropExpr
pub fn expect_super_prop(self) -> SuperPropExpr
pub fn super_prop(self) -> Option<SuperPropExpr>
pub fn super_prop(self) -> Option<SuperPropExpr>
Returns Some
if self
is of variant SuperProp
, and None
otherwise.
pub fn as_cond(&self) -> Option<&CondExpr>
pub fn as_cond(&self) -> Option<&CondExpr>
Returns Some
if self
is a reference of variant Cond
, and None
otherwise.
pub fn as_mut_cond(&mut self) -> Option<&mut CondExpr>
pub fn as_mut_cond(&mut self) -> Option<&mut CondExpr>
Returns Some
if self
is a mutable reference of variant Cond
, and None
otherwise.
pub fn expect_cond(self) -> CondExpr
pub fn expect_cond(self) -> CondExpr
pub fn as_call(&self) -> Option<&CallExpr>
pub fn as_call(&self) -> Option<&CallExpr>
Returns Some
if self
is a reference of variant Call
, and None
otherwise.
pub fn as_mut_call(&mut self) -> Option<&mut CallExpr>
pub fn as_mut_call(&mut self) -> Option<&mut CallExpr>
Returns Some
if self
is a mutable reference of variant Call
, and None
otherwise.
pub fn expect_call(self) -> CallExpr
pub fn expect_call(self) -> CallExpr
pub fn as_new(&self) -> Option<&NewExpr>
pub fn as_new(&self) -> Option<&NewExpr>
Returns Some
if self
is a reference of variant New
, and None
otherwise.
pub fn as_mut_new(&mut self) -> Option<&mut NewExpr>
pub fn as_mut_new(&mut self) -> Option<&mut NewExpr>
Returns Some
if self
is a mutable reference of variant New
, and None
otherwise.
pub fn expect_new(self) -> NewExpr
pub fn expect_new(self) -> NewExpr
pub fn as_seq(&self) -> Option<&SeqExpr>
pub fn as_seq(&self) -> Option<&SeqExpr>
Returns Some
if self
is a reference of variant Seq
, and None
otherwise.
pub fn as_mut_seq(&mut self) -> Option<&mut SeqExpr>
pub fn as_mut_seq(&mut self) -> Option<&mut SeqExpr>
Returns Some
if self
is a mutable reference of variant Seq
, and None
otherwise.
pub fn expect_seq(self) -> SeqExpr
pub fn expect_seq(self) -> SeqExpr
pub fn as_ident(&self) -> Option<&Ident>
pub fn as_ident(&self) -> Option<&Ident>
Returns Some
if self
is a reference of variant Ident
, and None
otherwise.
pub fn as_mut_ident(&mut self) -> Option<&mut Ident>
pub fn as_mut_ident(&mut self) -> Option<&mut Ident>
Returns Some
if self
is a mutable reference of variant Ident
, and None
otherwise.
pub fn expect_ident(self) -> Ident
pub fn expect_ident(self) -> Ident
pub fn as_lit(&self) -> Option<&Lit>
pub fn as_lit(&self) -> Option<&Lit>
Returns Some
if self
is a reference of variant Lit
, and None
otherwise.
pub fn as_mut_lit(&mut self) -> Option<&mut Lit>
pub fn as_mut_lit(&mut self) -> Option<&mut Lit>
Returns Some
if self
is a mutable reference of variant Lit
, and None
otherwise.
pub fn expect_lit(self) -> Lit
pub fn expect_lit(self) -> Lit
pub fn as_tpl(&self) -> Option<&Tpl>
pub fn as_tpl(&self) -> Option<&Tpl>
Returns Some
if self
is a reference of variant Tpl
, and None
otherwise.
pub fn as_mut_tpl(&mut self) -> Option<&mut Tpl>
pub fn as_mut_tpl(&mut self) -> Option<&mut Tpl>
Returns Some
if self
is a mutable reference of variant Tpl
, and None
otherwise.
pub fn expect_tpl(self) -> Tpl
pub fn expect_tpl(self) -> Tpl
pub const fn is_tagged_tpl(&self) -> bool
pub const fn is_tagged_tpl(&self) -> bool
Returns true
if self
is of variant TaggedTpl
.
pub fn as_tagged_tpl(&self) -> Option<&TaggedTpl>
pub fn as_tagged_tpl(&self) -> Option<&TaggedTpl>
Returns Some
if self
is a reference of variant TaggedTpl
, and None
otherwise.
pub fn as_mut_tagged_tpl(&mut self) -> Option<&mut TaggedTpl>
pub fn as_mut_tagged_tpl(&mut self) -> Option<&mut TaggedTpl>
Returns Some
if self
is a mutable reference of variant TaggedTpl
, and None
otherwise.
pub fn expect_tagged_tpl(self) -> TaggedTpl
pub fn expect_tagged_tpl(self) -> TaggedTpl
pub fn tagged_tpl(self) -> Option<TaggedTpl>
pub fn tagged_tpl(self) -> Option<TaggedTpl>
Returns Some
if self
is of variant TaggedTpl
, and None
otherwise.
pub fn as_arrow(&self) -> Option<&ArrowExpr>
pub fn as_arrow(&self) -> Option<&ArrowExpr>
Returns Some
if self
is a reference of variant Arrow
, and None
otherwise.
pub fn as_mut_arrow(&mut self) -> Option<&mut ArrowExpr>
pub fn as_mut_arrow(&mut self) -> Option<&mut ArrowExpr>
Returns Some
if self
is a mutable reference of variant Arrow
, and None
otherwise.
pub fn expect_arrow(self) -> ArrowExpr
pub fn expect_arrow(self) -> ArrowExpr
pub fn arrow(self) -> Option<ArrowExpr>
pub fn arrow(self) -> Option<ArrowExpr>
Returns Some
if self
is of variant Arrow
, and None
otherwise.
pub fn as_class(&self) -> Option<&ClassExpr>
pub fn as_class(&self) -> Option<&ClassExpr>
Returns Some
if self
is a reference of variant Class
, and None
otherwise.
pub fn as_mut_class(&mut self) -> Option<&mut ClassExpr>
pub fn as_mut_class(&mut self) -> Option<&mut ClassExpr>
Returns Some
if self
is a mutable reference of variant Class
, and None
otherwise.
pub fn expect_class(self) -> ClassExpr
pub fn expect_class(self) -> ClassExpr
pub fn class(self) -> Option<ClassExpr>
pub fn class(self) -> Option<ClassExpr>
Returns Some
if self
is of variant Class
, and None
otherwise.
pub const fn is_yield_expr(&self) -> bool
pub const fn is_yield_expr(&self) -> bool
Returns true
if self
is of variant Yield
.
pub fn as_yield_expr(&self) -> Option<&YieldExpr>
pub fn as_yield_expr(&self) -> Option<&YieldExpr>
Returns Some
if self
is a reference of variant Yield
, and None
otherwise.
pub fn as_mut_yield_expr(&mut self) -> Option<&mut YieldExpr>
pub fn as_mut_yield_expr(&mut self) -> Option<&mut YieldExpr>
Returns Some
if self
is a mutable reference of variant Yield
, and None
otherwise.
pub fn expect_yield_expr(self) -> YieldExpr
pub fn expect_yield_expr(self) -> YieldExpr
pub fn yield_expr(self) -> Option<YieldExpr>
pub fn yield_expr(self) -> Option<YieldExpr>
Returns Some
if self
is of variant Yield
, and None
otherwise.
pub const fn is_meta_prop(&self) -> bool
pub const fn is_meta_prop(&self) -> bool
Returns true
if self
is of variant MetaProp
.
pub fn as_meta_prop(&self) -> Option<&MetaPropExpr>
pub fn as_meta_prop(&self) -> Option<&MetaPropExpr>
Returns Some
if self
is a reference of variant MetaProp
, and None
otherwise.
pub fn as_mut_meta_prop(&mut self) -> Option<&mut MetaPropExpr>
pub fn as_mut_meta_prop(&mut self) -> Option<&mut MetaPropExpr>
Returns Some
if self
is a mutable reference of variant MetaProp
, and None
otherwise.
pub fn expect_meta_prop(self) -> MetaPropExpr
pub fn expect_meta_prop(self) -> MetaPropExpr
pub fn meta_prop(self) -> Option<MetaPropExpr>
pub fn meta_prop(self) -> Option<MetaPropExpr>
Returns Some
if self
is of variant MetaProp
, and None
otherwise.
pub const fn is_await_expr(&self) -> bool
pub const fn is_await_expr(&self) -> bool
Returns true
if self
is of variant Await
.
pub fn as_await_expr(&self) -> Option<&AwaitExpr>
pub fn as_await_expr(&self) -> Option<&AwaitExpr>
Returns Some
if self
is a reference of variant Await
, and None
otherwise.
pub fn as_mut_await_expr(&mut self) -> Option<&mut AwaitExpr>
pub fn as_mut_await_expr(&mut self) -> Option<&mut AwaitExpr>
Returns Some
if self
is a mutable reference of variant Await
, and None
otherwise.
pub fn expect_await_expr(self) -> AwaitExpr
pub fn expect_await_expr(self) -> AwaitExpr
pub fn await_expr(self) -> Option<AwaitExpr>
pub fn await_expr(self) -> Option<AwaitExpr>
Returns Some
if self
is of variant Await
, and None
otherwise.
pub fn as_paren(&self) -> Option<&ParenExpr>
pub fn as_paren(&self) -> Option<&ParenExpr>
Returns Some
if self
is a reference of variant Paren
, and None
otherwise.
pub fn as_mut_paren(&mut self) -> Option<&mut ParenExpr>
pub fn as_mut_paren(&mut self) -> Option<&mut ParenExpr>
Returns Some
if self
is a mutable reference of variant Paren
, and None
otherwise.
pub fn expect_paren(self) -> ParenExpr
pub fn expect_paren(self) -> ParenExpr
pub fn paren(self) -> Option<ParenExpr>
pub fn paren(self) -> Option<ParenExpr>
Returns Some
if self
is of variant Paren
, and None
otherwise.
pub const fn is_jsx_member(&self) -> bool
pub const fn is_jsx_member(&self) -> bool
Returns true
if self
is of variant JSXMember
.
pub fn as_jsx_member(&self) -> Option<&JSXMemberExpr>
pub fn as_jsx_member(&self) -> Option<&JSXMemberExpr>
Returns Some
if self
is a reference of variant JSXMember
, and None
otherwise.
pub fn as_mut_jsx_member(&mut self) -> Option<&mut JSXMemberExpr>
pub fn as_mut_jsx_member(&mut self) -> Option<&mut JSXMemberExpr>
Returns Some
if self
is a mutable reference of variant JSXMember
, and None
otherwise.
pub fn expect_jsx_member(self) -> JSXMemberExpr
pub fn expect_jsx_member(self) -> JSXMemberExpr
pub fn jsx_member(self) -> Option<JSXMemberExpr>
pub fn jsx_member(self) -> Option<JSXMemberExpr>
Returns Some
if self
is of variant JSXMember
, and None
otherwise.
pub const fn is_jsx_namespaced_name(&self) -> bool
pub const fn is_jsx_namespaced_name(&self) -> bool
Returns true
if self
is of variant JSXNamespacedName
.
pub fn as_jsx_namespaced_name(&self) -> Option<&JSXNamespacedName>
pub fn as_jsx_namespaced_name(&self) -> Option<&JSXNamespacedName>
Returns Some
if self
is a reference of variant JSXNamespacedName
, and None
otherwise.
pub fn as_mut_jsx_namespaced_name(&mut self) -> Option<&mut JSXNamespacedName>
pub fn as_mut_jsx_namespaced_name(&mut self) -> Option<&mut JSXNamespacedName>
Returns Some
if self
is a mutable reference of variant JSXNamespacedName
, and None
otherwise.
pub fn expect_jsx_namespaced_name(self) -> JSXNamespacedName
pub fn expect_jsx_namespaced_name(self) -> JSXNamespacedName
Unwraps the value, yielding the content of JSXNamespacedName
.
§Panics
Panics if the value is not JSXNamespacedName
, with a panic message including the content of self
.
pub fn jsx_namespaced_name(self) -> Option<JSXNamespacedName>
pub fn jsx_namespaced_name(self) -> Option<JSXNamespacedName>
Returns Some
if self
is of variant JSXNamespacedName
, and None
otherwise.
pub const fn is_jsx_empty(&self) -> bool
pub const fn is_jsx_empty(&self) -> bool
Returns true
if self
is of variant JSXEmpty
.
pub fn as_jsx_empty(&self) -> Option<&JSXEmptyExpr>
pub fn as_jsx_empty(&self) -> Option<&JSXEmptyExpr>
Returns Some
if self
is a reference of variant JSXEmpty
, and None
otherwise.
pub fn as_mut_jsx_empty(&mut self) -> Option<&mut JSXEmptyExpr>
pub fn as_mut_jsx_empty(&mut self) -> Option<&mut JSXEmptyExpr>
Returns Some
if self
is a mutable reference of variant JSXEmpty
, and None
otherwise.
pub fn expect_jsx_empty(self) -> JSXEmptyExpr
pub fn expect_jsx_empty(self) -> JSXEmptyExpr
pub fn jsx_empty(self) -> Option<JSXEmptyExpr>
pub fn jsx_empty(self) -> Option<JSXEmptyExpr>
Returns Some
if self
is of variant JSXEmpty
, and None
otherwise.
pub const fn is_jsx_element(&self) -> bool
pub const fn is_jsx_element(&self) -> bool
Returns true
if self
is of variant JSXElement
.
pub fn as_jsx_element(&self) -> Option<&Box<JSXElement>>
pub fn as_jsx_element(&self) -> Option<&Box<JSXElement>>
Returns Some
if self
is a reference of variant JSXElement
, and None
otherwise.
pub fn as_mut_jsx_element(&mut self) -> Option<&mut Box<JSXElement>>
pub fn as_mut_jsx_element(&mut self) -> Option<&mut Box<JSXElement>>
Returns Some
if self
is a mutable reference of variant JSXElement
, and None
otherwise.
pub fn expect_jsx_element(self) -> Box<JSXElement>
pub fn expect_jsx_element(self) -> Box<JSXElement>
Unwraps the value, yielding the content of JSXElement
.
§Panics
Panics if the value is not JSXElement
, with a panic message including the content of self
.
pub fn jsx_element(self) -> Option<Box<JSXElement>>
pub fn jsx_element(self) -> Option<Box<JSXElement>>
Returns Some
if self
is of variant JSXElement
, and None
otherwise.
pub const fn is_jsx_fragment(&self) -> bool
pub const fn is_jsx_fragment(&self) -> bool
Returns true
if self
is of variant JSXFragment
.
pub fn as_jsx_fragment(&self) -> Option<&JSXFragment>
pub fn as_jsx_fragment(&self) -> Option<&JSXFragment>
Returns Some
if self
is a reference of variant JSXFragment
, and None
otherwise.
pub fn as_mut_jsx_fragment(&mut self) -> Option<&mut JSXFragment>
pub fn as_mut_jsx_fragment(&mut self) -> Option<&mut JSXFragment>
Returns Some
if self
is a mutable reference of variant JSXFragment
, and None
otherwise.
pub fn expect_jsx_fragment(self) -> JSXFragment
pub fn expect_jsx_fragment(self) -> JSXFragment
Unwraps the value, yielding the content of JSXFragment
.
§Panics
Panics if the value is not JSXFragment
, with a panic message including the content of self
.
pub fn jsx_fragment(self) -> Option<JSXFragment>
pub fn jsx_fragment(self) -> Option<JSXFragment>
Returns Some
if self
is of variant JSXFragment
, and None
otherwise.
pub const fn is_ts_type_assertion(&self) -> bool
pub const fn is_ts_type_assertion(&self) -> bool
Returns true
if self
is of variant TsTypeAssertion
.
pub fn as_ts_type_assertion(&self) -> Option<&TsTypeAssertion>
pub fn as_ts_type_assertion(&self) -> Option<&TsTypeAssertion>
Returns Some
if self
is a reference of variant TsTypeAssertion
, and None
otherwise.
pub fn as_mut_ts_type_assertion(&mut self) -> Option<&mut TsTypeAssertion>
pub fn as_mut_ts_type_assertion(&mut self) -> Option<&mut TsTypeAssertion>
Returns Some
if self
is a mutable reference of variant TsTypeAssertion
, and None
otherwise.
pub fn expect_ts_type_assertion(self) -> TsTypeAssertion
pub fn expect_ts_type_assertion(self) -> TsTypeAssertion
Unwraps the value, yielding the content of TsTypeAssertion
.
§Panics
Panics if the value is not TsTypeAssertion
, with a panic message including the content of self
.
pub fn ts_type_assertion(self) -> Option<TsTypeAssertion>
pub fn ts_type_assertion(self) -> Option<TsTypeAssertion>
Returns Some
if self
is of variant TsTypeAssertion
, and None
otherwise.
pub const fn is_ts_const_assertion(&self) -> bool
pub const fn is_ts_const_assertion(&self) -> bool
Returns true
if self
is of variant TsConstAssertion
.
pub fn as_ts_const_assertion(&self) -> Option<&TsConstAssertion>
pub fn as_ts_const_assertion(&self) -> Option<&TsConstAssertion>
Returns Some
if self
is a reference of variant TsConstAssertion
, and None
otherwise.
pub fn as_mut_ts_const_assertion(&mut self) -> Option<&mut TsConstAssertion>
pub fn as_mut_ts_const_assertion(&mut self) -> Option<&mut TsConstAssertion>
Returns Some
if self
is a mutable reference of variant TsConstAssertion
, and None
otherwise.
pub fn expect_ts_const_assertion(self) -> TsConstAssertion
pub fn expect_ts_const_assertion(self) -> TsConstAssertion
Unwraps the value, yielding the content of TsConstAssertion
.
§Panics
Panics if the value is not TsConstAssertion
, with a panic message including the content of self
.
pub fn ts_const_assertion(self) -> Option<TsConstAssertion>
pub fn ts_const_assertion(self) -> Option<TsConstAssertion>
Returns Some
if self
is of variant TsConstAssertion
, and None
otherwise.
pub const fn is_ts_non_null(&self) -> bool
pub const fn is_ts_non_null(&self) -> bool
Returns true
if self
is of variant TsNonNull
.
pub fn as_ts_non_null(&self) -> Option<&TsNonNullExpr>
pub fn as_ts_non_null(&self) -> Option<&TsNonNullExpr>
Returns Some
if self
is a reference of variant TsNonNull
, and None
otherwise.
pub fn as_mut_ts_non_null(&mut self) -> Option<&mut TsNonNullExpr>
pub fn as_mut_ts_non_null(&mut self) -> Option<&mut TsNonNullExpr>
Returns Some
if self
is a mutable reference of variant TsNonNull
, and None
otherwise.
pub fn expect_ts_non_null(self) -> TsNonNullExpr
pub fn expect_ts_non_null(self) -> TsNonNullExpr
pub fn ts_non_null(self) -> Option<TsNonNullExpr>
pub fn ts_non_null(self) -> Option<TsNonNullExpr>
Returns Some
if self
is of variant TsNonNull
, and None
otherwise.
pub fn as_ts_as(&self) -> Option<&TsAsExpr>
pub fn as_ts_as(&self) -> Option<&TsAsExpr>
Returns Some
if self
is a reference of variant TsAs
, and None
otherwise.
pub fn as_mut_ts_as(&mut self) -> Option<&mut TsAsExpr>
pub fn as_mut_ts_as(&mut self) -> Option<&mut TsAsExpr>
Returns Some
if self
is a mutable reference of variant TsAs
, and None
otherwise.
pub fn expect_ts_as(self) -> TsAsExpr
pub fn expect_ts_as(self) -> TsAsExpr
pub const fn is_ts_instantiation(&self) -> bool
pub const fn is_ts_instantiation(&self) -> bool
Returns true
if self
is of variant TsInstantiation
.
pub fn as_ts_instantiation(&self) -> Option<&TsInstantiation>
pub fn as_ts_instantiation(&self) -> Option<&TsInstantiation>
Returns Some
if self
is a reference of variant TsInstantiation
, and None
otherwise.
pub fn as_mut_ts_instantiation(&mut self) -> Option<&mut TsInstantiation>
pub fn as_mut_ts_instantiation(&mut self) -> Option<&mut TsInstantiation>
Returns Some
if self
is a mutable reference of variant TsInstantiation
, and None
otherwise.
pub fn expect_ts_instantiation(self) -> TsInstantiation
pub fn expect_ts_instantiation(self) -> TsInstantiation
Unwraps the value, yielding the content of TsInstantiation
.
§Panics
Panics if the value is not TsInstantiation
, with a panic message including the content of self
.
pub fn ts_instantiation(self) -> Option<TsInstantiation>
pub fn ts_instantiation(self) -> Option<TsInstantiation>
Returns Some
if self
is of variant TsInstantiation
, and None
otherwise.
pub const fn is_ts_satisfies(&self) -> bool
pub const fn is_ts_satisfies(&self) -> bool
Returns true
if self
is of variant TsSatisfies
.
pub fn as_ts_satisfies(&self) -> Option<&TsSatisfiesExpr>
pub fn as_ts_satisfies(&self) -> Option<&TsSatisfiesExpr>
Returns Some
if self
is a reference of variant TsSatisfies
, and None
otherwise.
pub fn as_mut_ts_satisfies(&mut self) -> Option<&mut TsSatisfiesExpr>
pub fn as_mut_ts_satisfies(&mut self) -> Option<&mut TsSatisfiesExpr>
Returns Some
if self
is a mutable reference of variant TsSatisfies
, and None
otherwise.
pub fn expect_ts_satisfies(self) -> TsSatisfiesExpr
pub fn expect_ts_satisfies(self) -> TsSatisfiesExpr
Unwraps the value, yielding the content of TsSatisfies
.
§Panics
Panics if the value is not TsSatisfies
, with a panic message including the content of self
.
pub fn ts_satisfies(self) -> Option<TsSatisfiesExpr>
pub fn ts_satisfies(self) -> Option<TsSatisfiesExpr>
Returns Some
if self
is of variant TsSatisfies
, and None
otherwise.
pub const fn is_private_name(&self) -> bool
pub const fn is_private_name(&self) -> bool
Returns true
if self
is of variant PrivateName
.
pub fn as_private_name(&self) -> Option<&PrivateName>
pub fn as_private_name(&self) -> Option<&PrivateName>
Returns Some
if self
is a reference of variant PrivateName
, and None
otherwise.
pub fn as_mut_private_name(&mut self) -> Option<&mut PrivateName>
pub fn as_mut_private_name(&mut self) -> Option<&mut PrivateName>
Returns Some
if self
is a mutable reference of variant PrivateName
, and None
otherwise.
pub fn expect_private_name(self) -> PrivateName
pub fn expect_private_name(self) -> PrivateName
Unwraps the value, yielding the content of PrivateName
.
§Panics
Panics if the value is not PrivateName
, with a panic message including the content of self
.
pub fn private_name(self) -> Option<PrivateName>
pub fn private_name(self) -> Option<PrivateName>
Returns Some
if self
is of variant PrivateName
, and None
otherwise.
pub const fn is_opt_chain(&self) -> bool
pub const fn is_opt_chain(&self) -> bool
Returns true
if self
is of variant OptChain
.
pub fn as_opt_chain(&self) -> Option<&OptChainExpr>
pub fn as_opt_chain(&self) -> Option<&OptChainExpr>
Returns Some
if self
is a reference of variant OptChain
, and None
otherwise.
pub fn as_mut_opt_chain(&mut self) -> Option<&mut OptChainExpr>
pub fn as_mut_opt_chain(&mut self) -> Option<&mut OptChainExpr>
Returns Some
if self
is a mutable reference of variant OptChain
, and None
otherwise.
pub fn expect_opt_chain(self) -> OptChainExpr
pub fn expect_opt_chain(self) -> OptChainExpr
pub fn opt_chain(self) -> Option<OptChainExpr>
pub fn opt_chain(self) -> Option<OptChainExpr>
Returns Some
if self
is of variant OptChain
, and None
otherwise.
pub const fn is_invalid(&self) -> bool
pub const fn is_invalid(&self) -> bool
Returns true
if self
is of variant Invalid
.
pub fn as_invalid(&self) -> Option<&Invalid>
pub fn as_invalid(&self) -> Option<&Invalid>
Returns Some
if self
is a reference of variant Invalid
, and None
otherwise.
pub fn as_mut_invalid(&mut self) -> Option<&mut Invalid>
pub fn as_mut_invalid(&mut self) -> Option<&mut Invalid>
Returns Some
if self
is a mutable reference of variant Invalid
, and None
otherwise.
pub fn expect_invalid(self) -> Invalid
pub fn expect_invalid(self) -> Invalid
§impl Expr
impl Expr
pub fn leftmost(&self) -> Option<&Ident>
pub fn is_ident_ref_to(&self, ident: &str) -> bool
pub fn unwrap_with<'a, F>(&'a self, op: F) -> &'a Expr
pub fn unwrap_with<'a, F>(&'a self, op: F) -> &'a Expr
pub fn unwrap_mut_with<'a, F>(&'a mut self, op: F) -> &'a mut Expr
pub fn unwrap_mut_with<'a, F>(&'a mut self, op: F) -> &'a mut Expr
pub fn unwrap_parens(&self) -> &Expr
pub fn unwrap_parens(&self) -> &Expr
Normalize parenthesized expressions.
This will normalize (foo)
, ((foo))
, … to foo
.
If self
is not a parenthesized expression, it will be returned as is.
pub fn unwrap_parens_mut(&mut self) -> &mut Expr
pub fn unwrap_parens_mut(&mut self) -> &mut Expr
Normalize parenthesized expressions.
This will normalize (foo)
, ((foo))
, … to foo
.
If self
is not a parenthesized expression, it will be returned as is.
pub fn unwrap_seqs_and_parens(&self) -> &Expr
pub fn unwrap_seqs_and_parens(&self) -> &Expr
Normalize sequences and parenthesized expressions.
This returns the last expression of a sequence expression or the expression of a parenthesized expression.
pub fn from_exprs(exprs: Vec<Box<Expr>>) -> Box<Expr>
pub fn from_exprs(exprs: Vec<Box<Expr>>) -> Box<Expr>
Creates an expression from exprs
. This will return first element if
the length is 1 and a sequential expression otherwise.
§Panics
Panics if exprs
is empty.
pub fn directness_maters(&self) -> bool
pub fn directness_maters(&self) -> bool
Returns true for eval
and member expressions.
pub fn with_span(self, span: Span) -> Expr
pub fn set_span(&mut self, span: Span)
Trait Implementations§
§impl Archive for Expr
impl Archive for Expr
§type Archived = ArchivedExpr
type Archived = ArchivedExpr
§type Resolver = ExprResolver
type Resolver = ExprResolver
§impl<'de> Deserialize<'de> for Expr
impl<'de> Deserialize<'de> for Expr
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Expr, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Expr, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl<__D> Deserialize<Expr, __D> for <Expr as Archive>::Archivedwhere
__D: Fallible + ?Sized,
impl<__D> Deserialize<Expr, __D> for <Expr as Archive>::Archivedwhere
__D: Fallible + ?Sized,
§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<Expr, <__D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<Expr, <__D as Fallible>::Error>
§impl EndsWithAlphaNum for Expr
impl EndsWithAlphaNum for Expr
fn ends_with_alpha_num(&self) -> bool
§impl EqIgnoreSpan for Expr
impl EqIgnoreSpan for Expr
fn eq_ignore_span(&self, other: &Expr) -> bool
§impl ExprExt for Box<Expr>
impl ExprExt for Box<Expr>
fn as_expr(&self) -> &Expr
§fn is_immutable_value(&self) -> bool
fn is_immutable_value(&self) -> bool
fn is_number(&self) -> bool
fn is_str(&self) -> bool
fn is_array_lit(&self) -> bool
fn is_undefined(&self, ctx: &ExprCtx) -> bool
fn is_void(&self) -> bool
§fn is_global_ref_to(&self, ctx: &ExprCtx, id: &str) -> bool
fn is_global_ref_to(&self, ctx: &ExprCtx, id: &str) -> bool
true
if id
references a global object.§fn is_one_of_global_ref_to(&self, ctx: &ExprCtx, ids: &[&str]) -> bool
fn is_one_of_global_ref_to(&self, ctx: &ExprCtx, ids: &[&str]) -> bool
true
if id
references a global object.§fn as_pure_bool(&self, ctx: &ExprCtx) -> Value<bool>
fn as_pure_bool(&self, ctx: &ExprCtx) -> Value<bool>
self
if it does not have any side effects.§fn cast_to_bool(&self, ctx: &ExprCtx) -> (Purity, Value<bool>)
fn cast_to_bool(&self, ctx: &ExprCtx) -> (Purity, Value<bool>)
Boolean()
JavaScript cast function.
Note: unlike getPureBooleanValue this function does not return None
for expressions with side-effects.fn cast_to_number(&self, ctx: &ExprCtx) -> (Purity, Value<f64>)
§fn as_pure_number(&self, ctx: &ExprCtx) -> Value<f64>
fn as_pure_number(&self, ctx: &ExprCtx) -> Value<f64>
§fn get_type(&self) -> Value<Type>
fn get_type(&self) -> Value<Type>
fn is_pure_callee(&self, ctx: &ExprCtx) -> bool
fn may_have_side_effects(&self, ctx: &ExprCtx) -> bool
§impl ExprExt for Expr
impl ExprExt for Expr
fn as_expr(&self) -> &Expr
§fn is_immutable_value(&self) -> bool
fn is_immutable_value(&self) -> bool
fn is_number(&self) -> bool
fn is_str(&self) -> bool
fn is_array_lit(&self) -> bool
fn is_undefined(&self, ctx: &ExprCtx) -> bool
fn is_void(&self) -> bool
§fn is_global_ref_to(&self, ctx: &ExprCtx, id: &str) -> bool
fn is_global_ref_to(&self, ctx: &ExprCtx, id: &str) -> bool
true
if id
references a global object.§fn is_one_of_global_ref_to(&self, ctx: &ExprCtx, ids: &[&str]) -> bool
fn is_one_of_global_ref_to(&self, ctx: &ExprCtx, ids: &[&str]) -> bool
true
if id
references a global object.§fn as_pure_bool(&self, ctx: &ExprCtx) -> Value<bool>
fn as_pure_bool(&self, ctx: &ExprCtx) -> Value<bool>
self
if it does not have any side effects.§fn cast_to_bool(&self, ctx: &ExprCtx) -> (Purity, Value<bool>)
fn cast_to_bool(&self, ctx: &ExprCtx) -> (Purity, Value<bool>)
Boolean()
JavaScript cast function.
Note: unlike getPureBooleanValue this function does not return None
for expressions with side-effects.fn cast_to_number(&self, ctx: &ExprCtx) -> (Purity, Value<f64>)
§fn as_pure_number(&self, ctx: &ExprCtx) -> Value<f64>
fn as_pure_number(&self, ctx: &ExprCtx) -> Value<f64>
§fn get_type(&self) -> Value<Type>
fn get_type(&self) -> Value<Type>
fn is_pure_callee(&self, ctx: &ExprCtx) -> bool
fn may_have_side_effects(&self, ctx: &ExprCtx) -> bool
§impl<V> FoldWith<V> for Expr
impl<V> FoldWith<V> for Expr
§fn fold_with(self, visitor: &mut V) -> Expr
fn fold_with(self, visitor: &mut V) -> Expr
Calls Fold::fold_expr
with self
.
§fn fold_children_with(self, visitor: &mut V) -> Expr
fn fold_children_with(self, visitor: &mut V) -> Expr
self`` with
visitor`.§impl From<(Atom, SyntaxContext)> for Expr
impl From<(Atom, SyntaxContext)> for Expr
§fn from(src: (Atom, SyntaxContext)) -> Expr
fn from(src: (Atom, SyntaxContext)) -> Expr
§impl From<AssignExpr> for Box<Expr>
impl From<AssignExpr> for Box<Expr>
§fn from(src: AssignExpr) -> Box<Expr>
fn from(src: AssignExpr) -> Box<Expr>
§impl From<AssignExpr> for Expr
impl From<AssignExpr> for Expr
§fn from(v: AssignExpr) -> Expr
fn from(v: AssignExpr) -> Expr
§impl From<BindingIdent> for Box<Expr>
impl From<BindingIdent> for Box<Expr>
§fn from(bi: BindingIdent) -> Box<Expr>
fn from(bi: BindingIdent) -> Box<Expr>
§impl From<Box<JSXElement>> for Expr
impl From<Box<JSXElement>> for Expr
§fn from(v: Box<JSXElement>) -> Expr
fn from(v: Box<JSXElement>) -> Expr
§impl From<Expr> for ExprOrSpread
impl From<Expr> for ExprOrSpread
§fn from(src: Expr) -> ExprOrSpread
fn from(src: Expr) -> ExprOrSpread
§impl From<Expr> for VarDeclOrExpr
impl From<Expr> for VarDeclOrExpr
§fn from(src: Expr) -> VarDeclOrExpr
fn from(src: Expr) -> VarDeclOrExpr
§impl From<JSXElement> for Box<Expr>
impl From<JSXElement> for Box<Expr>
§fn from(src: JSXElement) -> Box<Expr>
fn from(src: JSXElement) -> Box<Expr>
§impl From<JSXEmptyExpr> for Box<Expr>
impl From<JSXEmptyExpr> for Box<Expr>
§fn from(src: JSXEmptyExpr) -> Box<Expr>
fn from(src: JSXEmptyExpr) -> Box<Expr>
§impl From<JSXEmptyExpr> for Expr
impl From<JSXEmptyExpr> for Expr
§fn from(v: JSXEmptyExpr) -> Expr
fn from(v: JSXEmptyExpr) -> Expr
§impl From<JSXFragment> for Box<Expr>
impl From<JSXFragment> for Box<Expr>
§fn from(src: JSXFragment) -> Box<Expr>
fn from(src: JSXFragment) -> Box<Expr>
§impl From<JSXFragment> for Expr
impl From<JSXFragment> for Expr
§fn from(v: JSXFragment) -> Expr
fn from(v: JSXFragment) -> Expr
§impl From<JSXMemberExpr> for Box<Expr>
impl From<JSXMemberExpr> for Box<Expr>
§fn from(src: JSXMemberExpr) -> Box<Expr>
fn from(src: JSXMemberExpr) -> Box<Expr>
§impl From<JSXMemberExpr> for Expr
impl From<JSXMemberExpr> for Expr
§fn from(v: JSXMemberExpr) -> Expr
fn from(v: JSXMemberExpr) -> Expr
§impl From<JSXNamespacedName> for Box<Expr>
impl From<JSXNamespacedName> for Box<Expr>
§fn from(src: JSXNamespacedName) -> Box<Expr>
fn from(src: JSXNamespacedName) -> Box<Expr>
§impl From<JSXNamespacedName> for Expr
impl From<JSXNamespacedName> for Expr
§fn from(v: JSXNamespacedName) -> Expr
fn from(v: JSXNamespacedName) -> Expr
§impl From<MemberExpr> for Box<Expr>
impl From<MemberExpr> for Box<Expr>
§fn from(src: MemberExpr) -> Box<Expr>
fn from(src: MemberExpr) -> Box<Expr>
§impl From<MemberExpr> for Expr
impl From<MemberExpr> for Expr
§fn from(v: MemberExpr) -> Expr
fn from(v: MemberExpr) -> Expr
§impl From<MetaPropExpr> for Box<Expr>
impl From<MetaPropExpr> for Box<Expr>
§fn from(src: MetaPropExpr) -> Box<Expr>
fn from(src: MetaPropExpr) -> Box<Expr>
§impl From<MetaPropExpr> for Expr
impl From<MetaPropExpr> for Expr
§fn from(v: MetaPropExpr) -> Expr
fn from(v: MetaPropExpr) -> Expr
§impl From<OptChainBase> for Expr
impl From<OptChainBase> for Expr
§fn from(opt: OptChainBase) -> Expr
fn from(opt: OptChainBase) -> Expr
§impl From<OptChainExpr> for Box<Expr>
impl From<OptChainExpr> for Box<Expr>
§fn from(src: OptChainExpr) -> Box<Expr>
fn from(src: OptChainExpr) -> Box<Expr>
§impl From<OptChainExpr> for Expr
impl From<OptChainExpr> for Expr
§fn from(v: OptChainExpr) -> Expr
fn from(v: OptChainExpr) -> Expr
§impl From<PrivateName> for Box<Expr>
impl From<PrivateName> for Box<Expr>
§fn from(src: PrivateName) -> Box<Expr>
fn from(src: PrivateName) -> Box<Expr>
§impl From<PrivateName> for Expr
impl From<PrivateName> for Expr
§fn from(v: PrivateName) -> Expr
fn from(v: PrivateName) -> Expr
§impl From<SimpleAssignTarget> for Box<Expr>
impl From<SimpleAssignTarget> for Box<Expr>
§fn from(s: SimpleAssignTarget) -> Box<Expr>
fn from(s: SimpleAssignTarget) -> Box<Expr>
§impl From<SuperPropExpr> for Box<Expr>
impl From<SuperPropExpr> for Box<Expr>
§fn from(src: SuperPropExpr) -> Box<Expr>
fn from(src: SuperPropExpr) -> Box<Expr>
§impl From<SuperPropExpr> for Expr
impl From<SuperPropExpr> for Expr
§fn from(v: SuperPropExpr) -> Expr
fn from(v: SuperPropExpr) -> Expr
§impl From<TsConstAssertion> for Box<Expr>
impl From<TsConstAssertion> for Box<Expr>
§fn from(src: TsConstAssertion) -> Box<Expr>
fn from(src: TsConstAssertion) -> Box<Expr>
§impl From<TsConstAssertion> for Expr
impl From<TsConstAssertion> for Expr
§fn from(v: TsConstAssertion) -> Expr
fn from(v: TsConstAssertion) -> Expr
§impl From<TsInstantiation> for Box<Expr>
impl From<TsInstantiation> for Box<Expr>
§fn from(src: TsInstantiation) -> Box<Expr>
fn from(src: TsInstantiation) -> Box<Expr>
§impl From<TsInstantiation> for Expr
impl From<TsInstantiation> for Expr
§fn from(v: TsInstantiation) -> Expr
fn from(v: TsInstantiation) -> Expr
§impl From<TsNonNullExpr> for Box<Expr>
impl From<TsNonNullExpr> for Box<Expr>
§fn from(src: TsNonNullExpr) -> Box<Expr>
fn from(src: TsNonNullExpr) -> Box<Expr>
§impl From<TsNonNullExpr> for Expr
impl From<TsNonNullExpr> for Expr
§fn from(v: TsNonNullExpr) -> Expr
fn from(v: TsNonNullExpr) -> Expr
§impl From<TsSatisfiesExpr> for Box<Expr>
impl From<TsSatisfiesExpr> for Box<Expr>
§fn from(src: TsSatisfiesExpr) -> Box<Expr>
fn from(src: TsSatisfiesExpr) -> Box<Expr>
§impl From<TsSatisfiesExpr> for Expr
impl From<TsSatisfiesExpr> for Expr
§fn from(v: TsSatisfiesExpr) -> Expr
fn from(v: TsSatisfiesExpr) -> Expr
§impl From<TsTypeAssertion> for Box<Expr>
impl From<TsTypeAssertion> for Box<Expr>
§fn from(src: TsTypeAssertion) -> Box<Expr>
fn from(src: TsTypeAssertion) -> Box<Expr>
§impl From<TsTypeAssertion> for Expr
impl From<TsTypeAssertion> for Expr
§fn from(v: TsTypeAssertion) -> Expr
fn from(v: TsTypeAssertion) -> Expr
§impl From<UpdateExpr> for Box<Expr>
impl From<UpdateExpr> for Box<Expr>
§fn from(src: UpdateExpr) -> Box<Expr>
fn from(src: UpdateExpr) -> Box<Expr>
§impl From<UpdateExpr> for Expr
impl From<UpdateExpr> for Expr
§fn from(v: UpdateExpr) -> Expr
fn from(v: UpdateExpr) -> Expr
§impl InfectableNode for Expr
impl InfectableNode for Expr
fn is_fn_or_arrow_expr(&self) -> bool
§impl Into<Expr> for FunctionWrapper<Expr>
impl Into<Expr> for FunctionWrapper<Expr>
§fn into(self) -> Expr
fn into(self) -> Expr
If a function has a function name, it may be called recursively. We use the named expression to hoist the function name internally Therefore, its recursive calls refer to the correct identity.
Else if a function has a binding name, it may be called recursively as well. But it refer the binding name which exist the outer scope. It is safe to using anonymous expression wrapper.
Optimization: A function without a name cannot be recursively referenced by Ident. It’s safe to return the expr without wrapper if the params.len is 0.
§impl Node for Expr
impl Node for Expr
fn emit_with<W, S>(&self, e: &mut Emitter<'_, W, S>) -> Result<(), Error>where
S: SourceMapper + SourceMapperExt,
W: WriteJs,
§impl Serialize for Expr
impl Serialize for Expr
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
§impl StartsWithAlphaNum for Expr
impl StartsWithAlphaNum for Expr
fn starts_with_alpha_num(&self) -> bool
§impl<V> VisitMutWith<V> for Expr
impl<V> VisitMutWith<V> for Expr
§fn visit_mut_with(&mut self, visitor: &mut V)
fn visit_mut_with(&mut self, visitor: &mut V)
Calls VisitMut::visit_mut_expr
with self
.
§fn visit_mut_children_with(&mut self, visitor: &mut V)
fn visit_mut_children_with(&mut self, visitor: &mut V)
self`` with
visitor`.§impl<V> VisitWith<V> for Expr
impl<V> VisitWith<V> for Expr
§fn visit_with(&self, visitor: &mut V)
fn visit_with(&self, visitor: &mut V)
Calls Visit::visit_expr
with self
.
§fn visit_children_with(&self, visitor: &mut V)
fn visit_children_with(&self, visitor: &mut V)
self`` with
visitor`.impl Eq for Expr
impl StructuralPartialEq for Expr
Auto Trait Implementations§
impl Freeze for Expr
impl RefUnwindSafe for Expr
impl Send for Expr
impl Sync for Expr
impl Unpin for Expr
impl UnwindSafe for Expr
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
§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
Archive
, it may be unsized. Read more§type MetadataResolver = ()
type MetadataResolver = ()
§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, )
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
§impl<T> CallHasher for T
impl<T> CallHasher for T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Conv for T
impl<T> Conv for T
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
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
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> ExprFactory for T
impl<T> ExprFactory for T
§fn as_arg(self) -> ExprOrSpread
fn as_arg(self) -> ExprOrSpread
§fn into_return_stmt(self) -> ReturnStmt
fn into_return_stmt(self) -> ReturnStmt
self
.fn as_callee(self) -> Callee
fn as_iife(self) -> CallExpr
§fn into_lazy_arrow(self, params: Vec<Pat>) -> ArrowExpr
fn into_lazy_arrow(self, params: Vec<Pat>) -> ArrowExpr
fn into_lazy_auto(self, params: Vec<Pat>, support_arrow: bool) -> Expr
§fn into_var_decl(self, kind: VarDeclKind, name: Pat) -> VarDecl
fn into_var_decl(self, kind: VarDeclKind, name: Pat) -> VarDecl
fn into_new_expr(self, span: Span, args: Option<Vec<ExprOrSpread>>) -> NewExpr
fn apply(self, span: Span, this: Box<Expr>, args: Vec<ExprOrSpread>) -> Expr
fn call_fn(self, span: Span, args: Vec<ExprOrSpread>) -> Expr
fn as_call(self, span: Span, args: Vec<ExprOrSpread>) -> Expr
fn as_fn_decl(self) -> Option<FnDecl>
fn as_class_decl(self) -> Option<ClassDecl>
fn wrap_with_paren(self) -> Expr
§fn make_assign_to(self, op: AssignOp, left: AssignTarget) -> Expr
fn make_assign_to(self, op: AssignOp, left: AssignTarget) -> Expr
$lhs $op $self
fn make_member(self, prop: IdentName) -> MemberExpr
fn computed_member<T>(self, prop: T) -> MemberExpr
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
source§impl<T> ImplicitClone for Twhere
T: Clone,
impl<T> ImplicitClone for Twhere
T: Clone,
source§fn clone_quote_var(&self) -> Self
fn clone_quote_var(&self) -> Self
ecma_quote
only.§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> ⓘ
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§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
§impl<D> OwoColorize for D
impl<D> OwoColorize for D
§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg
or
a color-specific method, such as OwoColorize::green
, Read more§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg
or
a color-specific method, such as OwoColorize::on_yellow
, Read more§fn fg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
§fn bg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
§fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
§fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§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,
§fn serialize_unsized(
&self,
serializer: &mut S,
) -> Result<usize, <S as Fallible>::Error>
fn serialize_unsized( &self, serializer: &mut S, ) -> Result<usize, <S as Fallible>::Error>
§fn serialize_metadata(&self, _: &mut S) -> Result<(), <S as Fallible>::Error>
fn serialize_metadata(&self, _: &mut S) -> Result<(), <S as Fallible>::Error>
§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
§fn comment_range(&self) -> Span
fn comment_range(&self) -> Span
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.