pub enum Expr<'ast> {
Show 44 variants
Assign {
var: ExprId<'ast>,
expr: ExprId<'ast>,
span: Span,
},
AssignRef {
var: ExprId<'ast>,
expr: ExprId<'ast>,
span: Span,
},
AssignOp {
var: ExprId<'ast>,
op: AssignOp,
expr: ExprId<'ast>,
span: Span,
},
Binary {
left: ExprId<'ast>,
op: BinaryOp,
right: ExprId<'ast>,
span: Span,
},
Unary {
op: UnaryOp,
expr: ExprId<'ast>,
span: Span,
},
Call {
func: ExprId<'ast>,
args: &'ast [Arg<'ast>],
span: Span,
},
Array {
items: &'ast [ArrayItem<'ast>],
span: Span,
},
ArrayDimFetch {
array: ExprId<'ast>,
dim: Option<ExprId<'ast>>,
span: Span,
},
PropertyFetch {
target: ExprId<'ast>,
property: ExprId<'ast>,
span: Span,
},
MethodCall {
target: ExprId<'ast>,
method: ExprId<'ast>,
args: &'ast [Arg<'ast>],
span: Span,
},
StaticCall {
class: ExprId<'ast>,
method: ExprId<'ast>,
args: &'ast [Arg<'ast>],
span: Span,
},
ClassConstFetch {
class: ExprId<'ast>,
constant: ExprId<'ast>,
span: Span,
},
New {
class: ExprId<'ast>,
args: &'ast [Arg<'ast>],
span: Span,
},
Variable {
name: Span,
span: Span,
},
IndirectVariable {
name: ExprId<'ast>,
span: Span,
},
Integer {
value: &'ast [u8],
span: Span,
},
Float {
value: &'ast [u8],
span: Span,
},
Boolean {
value: bool,
span: Span,
},
Null {
span: Span,
},
String {
value: &'ast [u8],
span: Span,
},
InterpolatedString {
parts: &'ast [ExprId<'ast>],
span: Span,
},
ShellExec {
parts: &'ast [ExprId<'ast>],
span: Span,
},
Include {
kind: IncludeKind,
expr: ExprId<'ast>,
span: Span,
},
MagicConst {
kind: MagicConstKind,
span: Span,
},
PostInc {
var: ExprId<'ast>,
span: Span,
},
PostDec {
var: ExprId<'ast>,
span: Span,
},
Ternary {
condition: ExprId<'ast>,
if_true: Option<ExprId<'ast>>,
if_false: ExprId<'ast>,
span: Span,
},
Match {
condition: ExprId<'ast>,
arms: &'ast [MatchArm<'ast>],
span: Span,
},
AnonymousClass {
attributes: &'ast [AttributeGroup<'ast>],
modifiers: &'ast [Token],
args: &'ast [Arg<'ast>],
extends: Option<Name<'ast>>,
implements: &'ast [Name<'ast>],
members: &'ast [ClassMember<'ast>],
span: Span,
},
Print {
expr: ExprId<'ast>,
span: Span,
},
Yield {
key: Option<ExprId<'ast>>,
value: Option<ExprId<'ast>>,
from: bool,
span: Span,
},
Cast {
kind: CastKind,
expr: ExprId<'ast>,
span: Span,
},
Empty {
expr: ExprId<'ast>,
span: Span,
},
Isset {
vars: &'ast [ExprId<'ast>],
span: Span,
},
Eval {
expr: ExprId<'ast>,
span: Span,
},
Die {
expr: Option<ExprId<'ast>>,
span: Span,
},
Exit {
expr: Option<ExprId<'ast>>,
span: Span,
},
Closure {
attributes: &'ast [AttributeGroup<'ast>],
is_static: bool,
by_ref: bool,
params: &'ast [Param<'ast>],
uses: &'ast [ClosureUse<'ast>],
return_type: Option<&'ast Type<'ast>>,
body: &'ast [StmtId<'ast>],
span: Span,
},
ArrowFunction {
attributes: &'ast [AttributeGroup<'ast>],
is_static: bool,
by_ref: bool,
params: &'ast [Param<'ast>],
return_type: Option<&'ast Type<'ast>>,
expr: ExprId<'ast>,
span: Span,
},
Clone {
expr: ExprId<'ast>,
span: Span,
},
NullsafePropertyFetch {
target: ExprId<'ast>,
property: ExprId<'ast>,
span: Span,
},
NullsafeMethodCall {
target: ExprId<'ast>,
method: ExprId<'ast>,
args: &'ast [Arg<'ast>],
span: Span,
},
VariadicPlaceholder {
span: Span,
},
Error {
span: Span,
},
}Variants§
Assign
AssignRef
AssignOp
Binary
Unary
Call
Array
ArrayDimFetch
PropertyFetch
MethodCall
StaticCall
ClassConstFetch
New
Variable
IndirectVariable
Integer
Float
Boolean
Null
String
InterpolatedString
ShellExec
Include
MagicConst
PostInc
PostDec
Ternary
Match
AnonymousClass
Yield
Cast
Empty
Isset
Eval
Die
Exit
Closure
ArrowFunction
Fields
§
attributes: &'ast [AttributeGroup<'ast>]Clone
NullsafePropertyFetch
NullsafeMethodCall
VariadicPlaceholder
Error
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<'ast> Freeze for Expr<'ast>
impl<'ast> RefUnwindSafe for Expr<'ast>
impl<'ast> Send for Expr<'ast>
impl<'ast> Sync for Expr<'ast>
impl<'ast> Unpin for Expr<'ast>
impl<'ast> UnwindSafe for Expr<'ast>
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
Mutably borrows from an owned value. Read more