pub enum Expression {
Show 40 variants
    QualifiedIdentifier(QualifiedIdentifier),
    Paren(ParenExpression),
    NullLiteral(NullLiteral),
    BooleanLiteral(BooleanLiteral),
    NumericLiteral(NumericLiteral),
    StringLiteral(StringLiteral),
    ThisLiteral(ThisLiteral),
    RegExpLiteral(RegExpLiteral),
    Xml(XmlExpression),
    XmlMarkup(XmlMarkupExpression),
    XmlList(XmlListExpression),
    ArrayLiteral(ArrayLiteral),
    VectorLiteral(VectorLiteral),
    ObjectInitializer(ObjectInitializer),
    Function(FunctionExpression),
    ImportMeta(ImportMeta),
    New(NewExpression),
    Member(MemberExpression),
    ComputedMember(ComputedMemberExpression),
    Descendants(DescendantsExpression),
    Filter(FilterExpression),
    Super(SuperExpression),
    Call(CallExpression),
    WithTypeArguments(ApplyTypeExpression),
    Unary(UnaryExpression),
    OptionalChaining(OptionalChainingExpression),
    OptionalChainingPlaceholder(OptionalChainingPlaceholder),
    Binary(BinaryExpression),
    Conditional(ConditionalExpression),
    Assignment(AssignmentExpression),
    Sequence(SequenceExpression),
    NullableType(NullableTypeExpression),
    NonNullableType(NonNullableTypeExpression),
    AnyType(AnyTypeExpression),
    VoidType(VoidTypeExpression),
    ArrayType(ArrayTypeExpression),
    TupleType(TupleTypeExpression),
    FunctionType(FunctionTypeExpression),
    Invalidated(InvalidatedNode),
    ReservedNamespace(ReservedNamespaceExpression),
}Expand description
Expression attached with a source location.
Variants§
QualifiedIdentifier(QualifiedIdentifier)
Paren(ParenExpression)
NullLiteral(NullLiteral)
BooleanLiteral(BooleanLiteral)
NumericLiteral(NumericLiteral)
StringLiteral(StringLiteral)
ThisLiteral(ThisLiteral)
RegExpLiteral(RegExpLiteral)
Xml(XmlExpression)
XmlMarkup(XmlMarkupExpression)
XmlList(XmlListExpression)
ArrayLiteral(ArrayLiteral)
VectorLiteral(VectorLiteral)
ObjectInitializer(ObjectInitializer)
Function(FunctionExpression)
ImportMeta(ImportMeta)
New(NewExpression)
Member(MemberExpression)
ComputedMember(ComputedMemberExpression)
Descendants(DescendantsExpression)
Filter(FilterExpression)
Super(SuperExpression)
Call(CallExpression)
WithTypeArguments(ApplyTypeExpression)
Unary(UnaryExpression)
OptionalChaining(OptionalChainingExpression)
OptionalChainingPlaceholder(OptionalChainingPlaceholder)
Binary(BinaryExpression)
Conditional(ConditionalExpression)
Assignment(AssignmentExpression)
Sequence(SequenceExpression)
NullableType(NullableTypeExpression)
NonNullableType(NonNullableTypeExpression)
AnyType(AnyTypeExpression)
VoidType(VoidTypeExpression)
ArrayType(ArrayTypeExpression)
TupleType(TupleTypeExpression)
FunctionType(FunctionTypeExpression)
Invalidated(InvalidatedNode)
ReservedNamespace(ReservedNamespaceExpression)
Implementations§
Source§impl Expression
 
impl Expression
pub fn location(&self) -> Location
pub fn to_identifier_name_or_asterisk(&self) -> Option<(String, Location)>
pub fn to_identifier_name(&self) -> Option<(String, Location)>
pub fn valid_access_modifier(&self) -> bool
pub fn is_invalidated(&self) -> bool
pub fn is_non_null_operation(&self) -> bool
pub fn is_valid_assignment_left_hand_side(&self) -> bool
pub fn is_valid_destructuring(&self) -> bool
pub fn search_optional_chaining_placeholder( self: &Rc<Self>, ) -> Option<Rc<Expression>>
Trait Implementations§
Source§impl Clone for Expression
 
impl Clone for Expression
Source§fn clone(&self) -> Expression
 
fn clone(&self) -> Expression
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 Expression
 
impl Debug for Expression
Source§impl<'de> Deserialize<'de> for Expression
 
impl<'de> Deserialize<'de> for Expression
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<S: Clone> NodeAssignmentMethod<Expression, S> for NodeAssignment<S>
 
impl<S: Clone> NodeAssignmentMethod<Expression, S> for NodeAssignment<S>
Auto Trait Implementations§
impl Freeze for Expression
impl !RefUnwindSafe for Expression
impl !Send for Expression
impl !Sync for Expression
impl Unpin for Expression
impl !UnwindSafe for Expression
Blanket Implementations§
Source§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
    Scheme: ApproxScheme,
 
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
    Scheme: ApproxScheme,
Source§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
 
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
Convert the given value into an approximately equivalent representation.
Source§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
    Dst: ApproxFrom<Src, Scheme>,
    Scheme: ApproxScheme,
 
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
    Dst: ApproxFrom<Src, Scheme>,
    Scheme: ApproxScheme,
Source§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
 
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
The error type produced by a failed conversion.
Source§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
 
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Convert the subject into an approximately equivalent representation.
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, Dst> ConvAsUtil<Dst> for T
 
impl<T, Dst> ConvAsUtil<Dst> for T
Source§impl<T> ConvUtil for T
 
impl<T> ConvUtil for T
Source§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
    Self: Sized + ApproxInto<Dst>,
 
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
    Self: Sized + ApproxInto<Dst>,
Approximate the subject to a given type with the default scheme.
Source§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>
 
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>
Approximate the subject to a given type with a specific scheme.