pub enum Stmt<'ast> {
Show 32 variants
Echo {
exprs: &'ast [ExprId<'ast>],
span: Span,
},
Return {
expr: Option<ExprId<'ast>>,
span: Span,
},
If {
condition: ExprId<'ast>,
then_block: &'ast [StmtId<'ast>],
else_block: Option<&'ast [StmtId<'ast>]>,
span: Span,
},
While {
condition: ExprId<'ast>,
body: &'ast [StmtId<'ast>],
span: Span,
},
DoWhile {
body: &'ast [StmtId<'ast>],
condition: ExprId<'ast>,
span: Span,
},
For {
init: &'ast [ExprId<'ast>],
condition: &'ast [ExprId<'ast>],
loop_expr: &'ast [ExprId<'ast>],
body: &'ast [StmtId<'ast>],
span: Span,
},
Foreach {
expr: ExprId<'ast>,
key_var: Option<ExprId<'ast>>,
value_var: ExprId<'ast>,
body: &'ast [StmtId<'ast>],
span: Span,
},
Block {
statements: &'ast [StmtId<'ast>],
span: Span,
},
Function {
attributes: &'ast [AttributeGroup<'ast>],
name: &'ast Token,
by_ref: bool,
params: &'ast [Param<'ast>],
return_type: Option<&'ast Type<'ast>>,
body: &'ast [StmtId<'ast>],
doc_comment: Option<Span>,
span: Span,
},
Class {
attributes: &'ast [AttributeGroup<'ast>],
modifiers: &'ast [Token],
name: &'ast Token,
extends: Option<Name<'ast>>,
implements: &'ast [Name<'ast>],
members: &'ast [ClassMember<'ast>],
doc_comment: Option<Span>,
span: Span,
},
Interface {
attributes: &'ast [AttributeGroup<'ast>],
name: &'ast Token,
extends: &'ast [Name<'ast>],
members: &'ast [ClassMember<'ast>],
doc_comment: Option<Span>,
span: Span,
},
Trait {
attributes: &'ast [AttributeGroup<'ast>],
name: &'ast Token,
members: &'ast [ClassMember<'ast>],
doc_comment: Option<Span>,
span: Span,
},
Enum {
attributes: &'ast [AttributeGroup<'ast>],
name: &'ast Token,
backed_type: Option<&'ast Type<'ast>>,
implements: &'ast [Name<'ast>],
members: &'ast [ClassMember<'ast>],
doc_comment: Option<Span>,
span: Span,
},
Namespace {
name: Option<Name<'ast>>,
body: Option<&'ast [StmtId<'ast>]>,
span: Span,
},
Use {
uses: &'ast [UseItem<'ast>],
kind: UseKind,
span: Span,
},
Switch {
condition: ExprId<'ast>,
cases: &'ast [Case<'ast>],
span: Span,
},
Try {
body: &'ast [StmtId<'ast>],
catches: &'ast [Catch<'ast>],
finally: Option<&'ast [StmtId<'ast>]>,
span: Span,
},
Throw {
expr: ExprId<'ast>,
span: Span,
},
Const {
attributes: &'ast [AttributeGroup<'ast>],
consts: &'ast [ClassConst<'ast>],
doc_comment: Option<Span>,
span: Span,
},
Break {
level: Option<ExprId<'ast>>,
span: Span,
},
Continue {
level: Option<ExprId<'ast>>,
span: Span,
},
Global {
vars: &'ast [ExprId<'ast>],
span: Span,
},
Static {
vars: &'ast [StaticVar<'ast>],
span: Span,
},
Unset {
vars: &'ast [ExprId<'ast>],
span: Span,
},
Expression {
expr: ExprId<'ast>,
span: Span,
},
InlineHtml {
value: &'ast [u8],
span: Span,
},
Nop {
span: Span,
},
Label {
name: &'ast Token,
span: Span,
},
Goto {
label: &'ast Token,
span: Span,
},
Error {
span: Span,
},
Declare {
declares: &'ast [DeclareItem<'ast>],
body: &'ast [StmtId<'ast>],
span: Span,
},
HaltCompiler {
span: Span,
},
}Variants§
Echo
Return
If
Fields
While
DoWhile
For
Fields
Foreach
Fields
Block
Function
Fields
§
attributes: &'ast [AttributeGroup<'ast>]Class
Interface
Trait
Enum
Namespace
Use
Switch
Try
Fields
Throw
Const
Break
Continue
Global
Static
Unset
Expression
InlineHtml
Nop
Label
Goto
Error
Declare
HaltCompiler
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<'ast> Freeze for Stmt<'ast>
impl<'ast> RefUnwindSafe for Stmt<'ast>
impl<'ast> Send for Stmt<'ast>
impl<'ast> Sync for Stmt<'ast>
impl<'ast> Unpin for Stmt<'ast>
impl<'ast> UnwindSafe for Stmt<'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