Enum ratel::grammar::Expression
[−]
[src]
pub enum Expression { This, Identifier(OwnedSlice), Literal(Value), Template { tag: Option<Box<Expression>>, expressions: Vec<Expression>, quasis: Vec<OwnedSlice>, }, RegEx { pattern: OwnedSlice, flags: OwnedSlice, }, Array(Vec<Expression>), Sequence(Vec<Expression>), Object(Vec<ObjectMember>), Member { object: Box<Expression>, property: OwnedSlice, }, ComputedMember { object: Box<Expression>, property: Box<Expression>, }, Call { callee: Box<Expression>, arguments: Vec<Expression>, }, Binary { parenthesized: bool, operator: OperatorType, left: Box<Expression>, right: Box<Expression>, }, Prefix { operator: OperatorType, operand: Box<Expression>, }, Postfix { operator: OperatorType, operand: Box<Expression>, }, Conditional { test: Box<Expression>, consequent: Box<Expression>, alternate: Box<Expression>, }, ArrowFunction { params: Vec<Parameter>, body: Box<Statement>, }, Function { name: Option<OwnedSlice>, params: Vec<Parameter>, body: Vec<Statement>, }, }
Variants
This
Identifier(OwnedSlice)
Literal(Value)
Template
Fields
tag: Option<Box<Expression>> | |
expressions: Vec<Expression> | |
quasis: Vec<OwnedSlice> |
RegEx
Fields
pattern: OwnedSlice | |
flags: OwnedSlice |
Array(Vec<Expression>)
Sequence(Vec<Expression>)
Object(Vec<ObjectMember>)
Member
Fields
object: Box<Expression> | |
property: OwnedSlice |
ComputedMember
Fields
object: Box<Expression> | |
property: Box<Expression> |
Call
Fields
callee: Box<Expression> | |
arguments: Vec<Expression> |
Binary
Fields
parenthesized: bool | |
operator: OperatorType | |
left: Box<Expression> | |
right: Box<Expression> |
Prefix
Fields
operator: OperatorType | |
operand: Box<Expression> |
Postfix
Fields
operator: OperatorType | |
operand: Box<Expression> |
Conditional
Fields
test: Box<Expression> | |
consequent: Box<Expression> | |
alternate: Box<Expression> |
ArrowFunction
Fields
params: Vec<Parameter> | |
body: Box<Statement> |
Function
Fields
name: Option<OwnedSlice> | |
params: Vec<Parameter> | |
body: Vec<Statement> |
Methods
impl Expression
[src]
fn binding_power(&self) -> u8
fn binary<E: Into<Expression>>(left: E,
operator: OperatorType,
right: E)
-> Self
operator: OperatorType,
right: E)
-> Self
fn member<E: Into<Expression>, S: Into<OwnedSlice>>(object: E,
property: S)
-> Self
property: S)
-> Self
fn call<E: Into<Expression>>(callee: E, arguments: Vec<Expression>) -> Self
fn parenthesize(self) -> Expression
fn needs_parens(&self, bp: u8) -> bool
fn is_allowed_as_bare_statement(&self) -> bool
Trait Implementations
impl Debug for Expression
[src]
impl PartialEq for Expression
[src]
fn eq(&self, __arg_0: &Expression) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Expression) -> bool
This method tests for !=
.
impl Clone for Expression
[src]
fn clone(&self) -> Expression
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl From<&'static str> for Expression
[src]
impl From<OwnedSlice> for Expression
[src]
fn from(ident: OwnedSlice) -> Self
Performs the conversion.
impl<'a> From<&'a OwnedSlice> for Expression
[src]
fn from(ident: &'a OwnedSlice) -> Self
Performs the conversion.