syn_solidity

Enum Stmt

Source
pub enum Stmt {
Show 15 variants Assembly(StmtAssembly), Block(Block), Break(StmtBreak), Continue(StmtContinue), DoWhile(StmtDoWhile), Emit(StmtEmit), Expr(StmtExpr), For(StmtFor), If(StmtIf), Return(StmtReturn), Revert(StmtRevert), Try(StmtTry), UncheckedBlock(UncheckedBlock), VarDecl(StmtVarDecl), While(StmtWhile),
}
Expand description

A statement, usually ending in a semicolon.

Solidity reference: https://docs.soliditylang.org/en/latest/grammar.html#a4.SolidityParser.statement

Variants§

§

Assembly(StmtAssembly)

An assembly block, with optional flags: assembly "evmasm" { ... }.

§

Block(Block)

A blocked scope: { ... }.

§

Break(StmtBreak)

A break statement: break;.

§

Continue(StmtContinue)

A continue statement: continue;.

§

DoWhile(StmtDoWhile)

A do-while statement: do { ... } while (condition);.

§

Emit(StmtEmit)

An emit statement: emit FooBar(42);.

§

Expr(StmtExpr)

An expression with a trailing semicolon.

§

For(StmtFor)

A for statement: for (uint256 i; i < 42; ++i) { ... }.

§

If(StmtIf)

An if statement with an optional else block: if (expr) { ... } else { ... }.

§

Return(StmtReturn)

A return statement: return 42;.

§

Revert(StmtRevert)

A revert statement: revert("error");.

§

Try(StmtTry)

A try statement: try fooBar(42) catch { ... }.

§

UncheckedBlock(UncheckedBlock)

An unchecked block: unchecked { ... }.

§

VarDecl(StmtVarDecl)

A variable declaration statement: uint256 foo = 42;.

§

While(StmtWhile)

A while statement: while (i < 42) { ... }.

Trait Implementations§

Source§

impl Clone for Stmt

Source§

fn clone(&self) -> Stmt

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Stmt

Source§

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

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

impl Parse for Stmt

Source§

fn parse(input: ParseStream<'_>) -> Result<Self>

Source§

impl Spanned for Stmt

Source§

fn span(&self) -> Span

Returns a Span covering the complete contents of this syntax tree node, or Span::call_site() if this node is empty.
Source§

fn set_span(&mut self, span: Span)

Sets the span of this syntax tree node if it is not empty.
Source§

fn with_span(self, span: Span) -> Self
where Self: Sized,

Sets the span of this owned syntax tree node if it is not empty.

Auto Trait Implementations§

§

impl Freeze for Stmt

§

impl RefUnwindSafe for Stmt

§

impl !Send for Stmt

§

impl !Sync for Stmt

§

impl Unpin for Stmt

§

impl UnwindSafe for Stmt

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 464 bytes

Size for each variant:

  • Assembly: 136 bytes
  • Block: 48 bytes
  • Break: 32 bytes
  • Continue: 32 bytes
  • DoWhile: 224 bytes
  • Emit: 192 bytes
  • Expr: 184 bytes
  • For: 464 bytes
  • If: 224 bytes
  • Return: 192 bytes
  • Revert: 192 bytes
  • Try: 152 bytes
  • UncheckedBlock: 64 bytes
  • VarDecl: 408 bytes
  • While: 200 bytes