xavier-derive 0.1.7

Derive module of Xavier. Xavier is a lightweight and versatile XML parsing library designed to streamline the process of handling XML data with ease and efficiency.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use proc_macro2::{Ident, TokenStream};
use quote::{quote, ToTokens};

pub struct FieldDecl {
    pub name: Ident,
    pub optional_type: TokenStream
}

impl ToTokens for FieldDecl {
    fn to_tokens(&self, tokens: &mut TokenStream) {
        let ty = &self.optional_type;
        let field = &self.name;
        tokens.extend( quote! {
           let mut #field: #ty = None;
        });
    }
}