|
@@ -1,11 +1,12 @@
|
|
|
use anchor_lang_idl::types::{Idl, IdlType};
|
|
|
use quote::{format_ident, quote, ToTokens};
|
|
|
|
|
|
-use super::common::convert_idl_type_to_syn_type;
|
|
|
+use super::common::{convert_idl_type_to_syn_type, gen_docs};
|
|
|
|
|
|
pub fn gen_constants_mod(idl: &Idl) -> proc_macro2::TokenStream {
|
|
|
let constants = idl.constants.iter().map(|c| {
|
|
|
let name = format_ident!("{}", c.name);
|
|
|
+ let docs = gen_docs(&c.docs);
|
|
|
let val = syn::parse_str::<syn::Expr>(&c.value)
|
|
|
.unwrap()
|
|
|
.to_token_stream();
|
|
@@ -15,8 +16,10 @@ pub fn gen_constants_mod(idl: &Idl) -> proc_macro2::TokenStream {
|
|
|
_ => (convert_idl_type_to_syn_type(&c.ty).to_token_stream(), val),
|
|
|
};
|
|
|
|
|
|
- // TODO: Docs
|
|
|
- quote! { pub const #name: #ty = #val; }
|
|
|
+ quote! {
|
|
|
+ #docs
|
|
|
+ pub const #name: #ty = #val;
|
|
|
+ }
|
|
|
});
|
|
|
|
|
|
quote! {
|