zingen::visitor

Macro map_wasm_operators

Source
macro_rules! map_wasm_operators {
    (@basic $ty:tt, $wasm:tt, $evm:tt $($arg:ident: $argty:ty),*) => { ... };
    (@integer32 $wasm:tt, $evm:tt $($arg:ident: $argty:ty),*) => { ... };
    (@integer64 $wasm:tt, $evm:tt $($arg:ident: $argty:ty),*) => { ... };
    (@integer $wasm:tt, $evm:tt $($arg:ident: $argty:ty),*) => { ... };
    (@xdr $wasm:tt, $evm:tt $($arg:ident: $argty:ty),*) => { ... };
    (@float32 $wasm:tt, $evm:tt $($arg:ident: $argty:ty),*) => { ... };
    (@float64 $wasm:tt, $evm:tt $($arg:ident: $argty:ty),*) => { ... };
    (@float $wasm:tt, $evm:tt $($arg:ident: $argty:ty),*) => { ... };
    (@integer_and_float $op:tt $($arg:ident: $argty:ty),*) => { ... };
    (@field ($($field:ident).*) ($op:tt -> $evm:tt) $($arg:tt: $argty:ty),* ) => { ... };
    (
        all: [$($all:tt),+],
        xdr: [$($xdr:tt),+],
        integer: [$($integer:tt),+],
        integer_and_float: [$($op:tt),+],
        float: [$($float:tt),+],
        map: {
            integer: [$($map_int_wasm:tt => $map_int_evm:tt),+],
        },
        mem: {
            all: [$($mem:tt),+],
            integer: [$($mem_integer:tt),+],
            integer64: [$($mem_integer64:tt),+],
            signed: [$($mem_signed:tt),+],
            signed64: [$($mem_signed64:tt),+],
            signed_and_float: [$($mem_signed_and_float:tt),+],
        },
        masm: {
            $( $masm:tt $(: { $($marg:ident: $margty:ty),+ })? ),+
        },
        global: {
            $( $global:tt $(: { $($garg:ident: $gargty:ty),+ })? ),+
        }
    ) => { ... };
}
Expand description

Implement arithmetic operators for types.