mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-22 19:38:00 +00:00
Fix codegen for codec::Compact as type parameters (#651)
* Add failing test for compact generic parameter * WIP refactor type generation * Fmt * Remove deprecated rustfmt optionns * Remove license template path * Update parent type parameter visitor * Introduce different methods for generating a type path for a field * Add comment * Fix weights refs * Add extra compact test cases * Fmt
This commit is contained in:
@@ -58,7 +58,7 @@ pub fn generate_constants(
|
||||
let constant_hash = subxt_metadata::get_constant_hash(metadata, pallet_name, constant_name)
|
||||
.unwrap_or_else(|_| abort_call_site!("Metadata information for the constant {}_{} could not be found", pallet_name, constant_name));
|
||||
|
||||
let return_ty = type_gen.resolve_type_path(constant.ty.id(), &[]);
|
||||
let return_ty = type_gen.resolve_type_path(constant.ty.id());
|
||||
let docs = &constant.docs;
|
||||
|
||||
quote! {
|
||||
|
||||
@@ -69,7 +69,7 @@ pub fn generate_events(
|
||||
}
|
||||
}
|
||||
});
|
||||
let event_type = type_gen.resolve_type_path(event.ty.id(), &[]);
|
||||
let event_type = type_gen.resolve_type_path(event.ty.id());
|
||||
let event_ty = type_gen.resolve_type(event.ty.id());
|
||||
let docs = event_ty.docs();
|
||||
|
||||
|
||||
@@ -101,7 +101,7 @@ fn generate_storage_entry_fns(
|
||||
.enumerate()
|
||||
.map(|(i, f)| {
|
||||
let field_name = format_ident!("_{}", syn::Index::from(i));
|
||||
let field_type = type_gen.resolve_type_path(f.id(), &[]);
|
||||
let field_type = type_gen.resolve_type_path(f.id());
|
||||
(field_name, field_type)
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
@@ -142,7 +142,7 @@ fn generate_storage_entry_fns(
|
||||
(fields, key_impl)
|
||||
}
|
||||
_ => {
|
||||
let ty_path = type_gen.resolve_type_path(key.id(), &[]);
|
||||
let ty_path = type_gen.resolve_type_path(key.id());
|
||||
let fields = vec![(format_ident!("_0"), ty_path)];
|
||||
let hasher = hashers.get(0).unwrap_or_else(|| {
|
||||
abort_call_site!("No hasher found for single key")
|
||||
@@ -173,7 +173,7 @@ fn generate_storage_entry_fns(
|
||||
StorageEntryType::Plain(ref ty) => ty,
|
||||
StorageEntryType::Map { ref value, .. } => value,
|
||||
};
|
||||
let storage_entry_value_ty = type_gen.resolve_type_path(storage_entry_ty.id(), &[]);
|
||||
let storage_entry_value_ty = type_gen.resolve_type_path(storage_entry_ty.id());
|
||||
|
||||
let docs = &storage_entry.docs;
|
||||
let docs_token = quote! { #( #[doc = #docs ] )* };
|
||||
|
||||
Reference in New Issue
Block a user