use proc_macro2::Ident;
#[derive(Copy, Clone, PartialEq)]
pub enum Atom {
Bool,
U8,
U16,
U32,
U64,
Usize,
I8,
I16,
I32,
I64,
Isize,
CxxString,
RustString,
}
impl Atom {
pub fn from(ident: &Ident) -> Option<Self> {
use self::Atom::*;
match ident.to_string().as_str() {
"bool" => Some(Bool),
"u8" => Some(U8),
"u16" => Some(U16),
"u32" => Some(U32),
"u64" => Some(U64),
"usize" => Some(Usize),
"i8" => Some(I8),
"i16" => Some(I16),
"i32" => Some(I32),
"i64" => Some(I64),
"isize" => Some(Isize),
"CxxString" => Some(CxxString),
"String" => Some(RustString),
_ => None,
}
}
}