syn_utils/type_parser/
primitives.rs

1use crate::*;
2
3#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
4pub enum Int {
5  ISize,
6  I8,
7  I16,
8  I32,
9  I64,
10  I128,
11}
12
13impl ToTokens for Int {
14  fn to_tokens(&self, tokens: &mut TokenStream2) {
15    let output = match self {
16      Int::ISize => quote! { isize },
17      Int::I8 => quote! { i8 },
18      Int::I16 => quote! { i16 },
19      Int::I32 => quote! { i32 },
20      Int::I64 => quote! { i64 },
21      Int::I128 => quote! { i128 },
22    };
23
24    tokens.extend(output);
25  }
26}
27
28#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
29pub enum Uint {
30  USize,
31  U8,
32  U16,
33  U32,
34  U64,
35  U128,
36}
37
38impl ToTokens for Uint {
39  fn to_tokens(&self, tokens: &mut TokenStream2) {
40    let output = match self {
41      Uint::USize => quote! { usize },
42      Uint::U8 => quote! { u8 },
43      Uint::U16 => quote! { u16 },
44      Uint::U32 => quote! { u32 },
45      Uint::U64 => quote! { u64 },
46      Uint::U128 => quote! { u128 },
47    };
48
49    tokens.extend(output);
50  }
51}
52
53#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
54pub enum Float {
55  F32,
56  F64,
57}
58
59impl ToTokens for Float {
60  fn to_tokens(&self, tokens: &mut TokenStream2) {
61    let output = match self {
62      Float::F32 => quote! { f32 },
63      Float::F64 => quote! { f64 },
64    };
65
66    tokens.extend(output);
67  }
68}