mirror of
https://github.com/salsa-rs/salsa.git
synced 2024-10-23 12:49:57 +00:00
Force codegen in the query-defning crate
This commit is contained in:
parent
b66eb81311
commit
a5626cd8a0
1 changed files with 11 additions and 1 deletions
|
@ -180,6 +180,7 @@ pub(crate) fn query_group(args: TokenStream, input: TokenStream) -> TokenStream
|
|||
|
||||
let mut query_fn_declarations = proc_macro2::TokenStream::new();
|
||||
let mut query_fn_definitions = proc_macro2::TokenStream::new();
|
||||
let mut query_fn_shims = proc_macro2::TokenStream::new();
|
||||
let mut storage_fields = proc_macro2::TokenStream::new();
|
||||
let mut queries_with_storage = vec![];
|
||||
for query in &queries {
|
||||
|
@ -211,9 +212,16 @@ pub(crate) fn query_group(args: TokenStream, input: TokenStream) -> TokenStream
|
|||
|
||||
queries_with_storage.push(fn_name);
|
||||
|
||||
let shim = format_ident!("{}_shim", fn_name);
|
||||
query_fn_definitions.extend(quote! {
|
||||
fn #fn_name(&self, #(#key_names: #keys),*) -> #value {
|
||||
salsa::plumbing::get_query_table::<#qt>(self).get((#(#key_names),*))
|
||||
#shim(self, #(#key_names),*)
|
||||
|
||||
}
|
||||
});
|
||||
query_fn_shims.extend(quote! {
|
||||
fn #shim(db: &dyn #trait_name, #(#key_names: #keys),*) -> #value {
|
||||
salsa::plumbing::get_query_table::<#qt>(db).get((#(#key_names),*))
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -290,6 +298,8 @@ pub(crate) fn query_group(args: TokenStream, input: TokenStream) -> TokenStream
|
|||
{
|
||||
#query_fn_declarations
|
||||
}
|
||||
|
||||
#query_fn_shims
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue