Stmt

Enum Stmt 

Source
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

Fields

§exprs: &'ast [ExprId<'ast>]
§span: Span
§

Return

Fields

§expr: Option<ExprId<'ast>>
§span: Span
§

If

Fields

§condition: ExprId<'ast>
§then_block: &'ast [StmtId<'ast>]
§else_block: Option<&'ast [StmtId<'ast>]>
§span: Span
§

While

Fields

§condition: ExprId<'ast>
§body: &'ast [StmtId<'ast>]
§span: Span
§

DoWhile

Fields

§body: &'ast [StmtId<'ast>]
§condition: ExprId<'ast>
§span: Span
§

For

Fields

§init: &'ast [ExprId<'ast>]
§condition: &'ast [ExprId<'ast>]
§loop_expr: &'ast [ExprId<'ast>]
§body: &'ast [StmtId<'ast>]
§span: Span
§

Foreach

Fields

§expr: ExprId<'ast>
§key_var: Option<ExprId<'ast>>
§value_var: ExprId<'ast>
§body: &'ast [StmtId<'ast>]
§span: Span
§

Block

Fields

§statements: &'ast [StmtId<'ast>]
§span: Span
§

Function

Fields

§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

Fields

§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

Fields

§attributes: &'ast [AttributeGroup<'ast>]
§name: &'ast Token
§extends: &'ast [Name<'ast>]
§members: &'ast [ClassMember<'ast>]
§doc_comment: Option<Span>
§span: Span
§

Trait

Fields

§attributes: &'ast [AttributeGroup<'ast>]
§name: &'ast Token
§members: &'ast [ClassMember<'ast>]
§doc_comment: Option<Span>
§span: Span
§

Enum

Fields

§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

Fields

§name: Option<Name<'ast>>
§body: Option<&'ast [StmtId<'ast>]>
§span: Span
§

Use

Fields

§uses: &'ast [UseItem<'ast>]
§kind: UseKind
§span: Span
§

Switch

Fields

§condition: ExprId<'ast>
§cases: &'ast [Case<'ast>]
§span: Span
§

Try

Fields

§body: &'ast [StmtId<'ast>]
§catches: &'ast [Catch<'ast>]
§finally: Option<&'ast [StmtId<'ast>]>
§span: Span
§

Throw

Fields

§expr: ExprId<'ast>
§span: Span
§

Const

Fields

§attributes: &'ast [AttributeGroup<'ast>]
§consts: &'ast [ClassConst<'ast>]
§doc_comment: Option<Span>
§span: Span
§

Break

Fields

§level: Option<ExprId<'ast>>
§span: Span
§

Continue

Fields

§level: Option<ExprId<'ast>>
§span: Span
§

Global

Fields

§vars: &'ast [ExprId<'ast>]
§span: Span
§

Static

Fields

§vars: &'ast [StaticVar<'ast>]
§span: Span
§

Unset

Fields

§vars: &'ast [ExprId<'ast>]
§span: Span
§

Expression

Fields

§expr: ExprId<'ast>
§span: Span
§

InlineHtml

Fields

§value: &'ast [u8]
§span: Span
§

Nop

Fields

§span: Span
§

Label

Fields

§name: &'ast Token
§span: Span
§

Goto

Fields

§label: &'ast Token
§span: Span
§

Error

Fields

§span: Span
§

Declare

Fields

§declares: &'ast [DeclareItem<'ast>]
§body: &'ast [StmtId<'ast>]
§span: Span
§

HaltCompiler

Fields

§span: Span

Implementations§

Source§

impl<'ast> Stmt<'ast>

Source

pub fn span(&self) -> Span

Trait Implementations§

Source§

impl<'ast> Debug for Stmt<'ast>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'ast> Serialize for Stmt<'ast>

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.