Sha256: 7950ad824180974edb2b90534e2dc7912df4f0b6d81bbdbb9d5a069347ed1a69

Contents?: true

Size: 1.43 KB

Versions: 36

Compression:

Stored size: 1.43 KB

Contents

use syn::{parse_macro_input, DeriveInput, Error};

mod bindgen;
mod component;

#[proc_macro_derive(Lift, attributes(component))]
pub fn lift(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
    component::expand(
        &component::LiftExpander,
        &parse_macro_input!(input as DeriveInput),
    )
    .unwrap_or_else(Error::into_compile_error)
    .into()
}

#[proc_macro_derive(Lower, attributes(component))]
pub fn lower(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
    component::expand(
        &component::LowerExpander,
        &parse_macro_input!(input as DeriveInput),
    )
    .unwrap_or_else(Error::into_compile_error)
    .into()
}

#[proc_macro_derive(ComponentType, attributes(component))]
pub fn component_type(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
    component::expand(
        &component::ComponentTypeExpander,
        &parse_macro_input!(input as DeriveInput),
    )
    .unwrap_or_else(Error::into_compile_error)
    .into()
}

#[proc_macro]
pub fn flags(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
    component::expand_flags(&parse_macro_input!(input as component::Flags))
        .unwrap_or_else(Error::into_compile_error)
        .into()
}

#[proc_macro]
pub fn bindgen(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
    bindgen::expand(&parse_macro_input!(input as bindgen::Config))
        .unwrap_or_else(Error::into_compile_error)
        .into()
}

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
wasmtime-29.0.0 ./ext/cargo-vendor/wasmtime-component-macro-29.0.0/src/lib.rs
wasmtime-28.0.0 ./ext/cargo-vendor/wasmtime-component-macro-28.0.0/src/lib.rs
wasmtime-27.0.0 ./ext/cargo-vendor/wasmtime-component-macro-27.0.0/src/lib.rs
wasmtime-26.0.0 ./ext/cargo-vendor/wasmtime-component-macro-26.0.0/src/lib.rs
wasmtime-25.0.2 ./ext/cargo-vendor/wasmtime-component-macro-25.0.2/src/lib.rs
wasmtime-25.0.1 ./ext/cargo-vendor/wasmtime-component-macro-25.0.1/src/lib.rs
wasmtime-25.0.0 ./ext/cargo-vendor/wasmtime-component-macro-25.0.0/src/lib.rs
wasmtime-24.0.0 ./ext/cargo-vendor/wasmtime-component-macro-24.0.0/src/lib.rs
wasmtime-23.0.2 ./ext/cargo-vendor/wasmtime-component-macro-23.0.2/src/lib.rs
wasmtime-22.0.0 ./ext/cargo-vendor/wasmtime-component-macro-22.0.0/src/lib.rs
wasmtime-21.0.1 ./ext/cargo-vendor/wasmtime-component-macro-21.0.1/src/lib.rs
wasmtime-20.0.2 ./ext/cargo-vendor/wasmtime-component-macro-20.0.2/src/lib.rs
wasmtime-20.0.0 ./ext/cargo-vendor/wasmtime-component-macro-20.0.0/src/lib.rs
wasmtime-18.0.3 ./ext/cargo-vendor/wasmtime-component-macro-18.0.3/src/lib.rs
wasmtime-17.0.1 ./ext/cargo-vendor/wasmtime-component-macro-17.0.1/src/lib.rs
wasmtime-17.0.0 ./ext/cargo-vendor/wasmtime-component-macro-17.0.0/src/lib.rs
wasmtime-16.0.0 ./ext/cargo-vendor/wasmtime-component-macro-16.0.0/src/lib.rs
wasmtime-15.0.1 ./ext/cargo-vendor/wasmtime-component-macro-15.0.1/src/lib.rs
wasmtime-15.0.0 ./ext/cargo-vendor/wasmtime-component-macro-15.0.0/src/lib.rs
wasmtime-14.0.4 ./ext/cargo-vendor/wasmtime-component-macro-14.0.4/src/lib.rs