#[cfg(feature = "totokens")]
mod totokens {
use proc_macro2::TokenStream;
use quote::{quote, ToTokens};
use crate::field_descriptor_proto::Type as ProtoType;
impl ToTokens for ProtoType {
fn to_tokens(&self, tokens: &mut TokenStream) {
let path = quote! { ::protocheck::types::field_descriptor_proto::Type };
match self {
ProtoType::Double => tokens.extend(quote! { #path::Double }),
ProtoType::Float => tokens.extend(quote! { #path::Float }),
ProtoType::Int64 => tokens.extend(quote! { #path::Int64 }),
ProtoType::Uint64 => tokens.extend(quote! { #path::Uint64 }),
ProtoType::Int32 => tokens.extend(quote! { #path::Int32 }),
ProtoType::Fixed64 => tokens.extend(quote! { #path::Fixed64 }),
ProtoType::Fixed32 => tokens.extend(quote! { #path::Fixed32 }),
ProtoType::Bool => tokens.extend(quote! { #path::Bool }),
ProtoType::String => tokens.extend(quote! { #path::String }),
ProtoType::Group => tokens.extend(quote! { #path::Group }),
ProtoType::Message => tokens.extend(quote! { #path::Message }),
ProtoType::Bytes => tokens.extend(quote! { #path::Bytes }),
ProtoType::Uint32 => tokens.extend(quote! { #path::Uint32 }),
ProtoType::Enum => tokens.extend(quote! { #path::Enum }),
ProtoType::Sfixed32 => tokens.extend(quote! { #path::Sfixed32 }),
ProtoType::Sfixed64 => tokens.extend(quote! { #path::Sfixed64 }),
ProtoType::Sint32 => tokens.extend(quote! { #path::Sint32 }),
ProtoType::Sint64 => tokens.extend(quote! { #path::Sint64 }),
}
}
}
}