[][src]Trait walrus::ir::Ast

pub trait Ast: Into<Expr> {
    type Id: Into<ExprId>;
    fn new_id(id: ExprId) -> Self::Id;
}

A trait for anything that is an AST node in our IR.

Implementations of this trait are generated by #[walrus_expr].

Associated Types

type Id: Into<ExprId>

The identifier type for this AST node.

Loading content...

Required methods

fn new_id(id: ExprId) -> Self::Id

Create a new identifier given an ExprId that references an Expr of this type.

Loading content...

Implementors

impl Ast for AtomicNotify[src]

impl Ast for AtomicRmw[src]

impl Ast for AtomicWait[src]

impl Ast for Binop[src]

impl Ast for Block[src]

impl Ast for Br[src]

type Id = BrId

impl Ast for BrIf[src]

type Id = BrIfId

impl Ast for BrTable[src]

impl Ast for Call[src]

type Id = CallId

impl Ast for CallIndirect[src]

impl Ast for Cmpxchg[src]

impl Ast for Const[src]

impl Ast for DataDrop[src]

impl Ast for Drop[src]

type Id = DropId

impl Ast for GlobalGet[src]

impl Ast for GlobalSet[src]

impl Ast for IfElse[src]

impl Ast for Load[src]

type Id = LoadId

impl Ast for LocalGet[src]

impl Ast for LocalSet[src]

impl Ast for LocalTee[src]

impl Ast for MemoryCopy[src]

impl Ast for MemoryFill[src]

impl Ast for MemoryGrow[src]

impl Ast for MemoryInit[src]

impl Ast for MemorySize[src]

impl Ast for Return[src]

impl Ast for Select[src]

impl Ast for Store[src]

impl Ast for Unop[src]

type Id = UnopId

impl Ast for Unreachable[src]

impl Ast for WithSideEffects[src]

Loading content...