marine_macro_impl/
wasm_type.rs1use proc_macro2::TokenStream;
18
19pub enum RustType {
21 U8,
22 U16,
23 U32,
24 U64,
25 I8,
26 I16,
27 I32,
28 I64,
29 F32,
30 F64,
31}
32
33impl quote::ToTokens for RustType {
34 fn to_tokens(&self, tokens: &mut TokenStream) {
35 let call_site = proc_macro2::Span::call_site();
36 match self {
37 RustType::U8 => syn::Ident::new("u8", call_site).to_tokens(tokens),
38 RustType::U16 => syn::Ident::new("u16", call_site).to_tokens(tokens),
39 RustType::U32 => syn::Ident::new("u32", call_site).to_tokens(tokens),
40 RustType::U64 => syn::Ident::new("u64", call_site).to_tokens(tokens),
41 RustType::I8 => syn::Ident::new("i8", call_site).to_tokens(tokens),
42 RustType::I16 => syn::Ident::new("i16", call_site).to_tokens(tokens),
43 RustType::I32 => syn::Ident::new("i32", call_site).to_tokens(tokens),
44 RustType::I64 => syn::Ident::new("i64", call_site).to_tokens(tokens),
45 RustType::F32 => syn::Ident::new("f32", call_site).to_tokens(tokens),
46 RustType::F64 => syn::Ident::new("f64", call_site).to_tokens(tokens),
47 }
48 }
49}