syn_utils/type_parser/
primitives.rs1use 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}