Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/query-group-macro/src/lib.rs')
| -rw-r--r-- | crates/query-group-macro/src/lib.rs | 68 |
1 files changed, 3 insertions, 65 deletions
diff --git a/crates/query-group-macro/src/lib.rs b/crates/query-group-macro/src/lib.rs index 277cc0b269..6e89e0875e 100644 --- a/crates/query-group-macro/src/lib.rs +++ b/crates/query-group-macro/src/lib.rs @@ -6,18 +6,15 @@ use std::vec; use proc_macro::TokenStream; use proc_macro2::Span; use queries::{ - GeneratedInputStruct, InputQuery, InputSetter, InputSetterWithDurability, Intern, Lookup, - Queries, SetterKind, TrackedQuery, Transparent, + GeneratedInputStruct, InputQuery, InputSetter, InputSetterWithDurability, Queries, SetterKind, + TrackedQuery, Transparent, }; use quote::{ToTokens, format_ident, quote}; use syn::parse::{Parse, ParseStream}; use syn::punctuated::Punctuated; use syn::spanned::Spanned; use syn::visit_mut::VisitMut; -use syn::{ - Attribute, FnArg, ItemTrait, Path, Token, TraitItem, TraitItemFn, parse_quote, - parse_quote_spanned, -}; +use syn::{Attribute, FnArg, ItemTrait, Path, Token, TraitItem, parse_quote, parse_quote_spanned}; mod queries; @@ -106,7 +103,6 @@ enum QueryKind { Tracked, TrackedWithSalsaStruct, Transparent, - Interned, } #[derive(Default, Debug, Clone)] @@ -190,7 +186,6 @@ pub(crate) fn query_group_impl( let mut trait_methods = vec![]; let mut setter_trait_methods = vec![]; let mut lookup_signatures = vec![]; - let mut lookup_methods = vec![]; for item in &mut item_trait.items { if let syn::TraitItem::Fn(method) = item { @@ -202,7 +197,6 @@ pub(crate) fn query_group_impl( let mut query_kind = QueryKind::TrackedWithSalsaStruct; let mut invoke = None; let mut cycle = None; - let mut interned_struct_path = None; let mut lru = None; let params: Vec<FnArg> = signature.inputs.clone().into_iter().collect(); @@ -230,22 +224,6 @@ pub(crate) fn query_group_impl( } query_kind = QueryKind::Input; } - "interned" => { - let syn::ReturnType::Type(_, ty) = &signature.output else { - return Err(syn::Error::new( - span, - "interned queries must have return type", - )); - }; - let syn::Type::Path(path) = &**ty else { - return Err(syn::Error::new( - span, - "interned queries must have return type", - )); - }; - interned_struct_path = Some(path.path.clone()); - query_kind = QueryKind::Interned; - } "invoke_interned" => { let path = syn::parse::<Parenthesized<Path>>(tts)?; invoke = Some(path.0.clone()); @@ -317,28 +295,6 @@ pub(crate) fn query_group_impl( }; setter_trait_methods.push(SetterKind::WithDurability(setter)); } - (QueryKind::Interned, None) => { - let interned_struct_path = interned_struct_path.unwrap(); - let method = Intern { - signature: signature.clone(), - pat_and_tys: pat_and_tys.clone(), - interned_struct_path: interned_struct_path.clone(), - }; - - trait_methods.push(Queries::Intern(method)); - - let mut method = Lookup { - signature: signature.clone(), - pat_and_tys: pat_and_tys.clone(), - return_ty: *return_ty, - interned_struct_path, - }; - method.prepare_signature(); - - lookup_signatures - .push(TraitItem::Fn(make_trait_method(method.signature.clone()))); - lookup_methods.push(method); - } // tracked function. it might have an invoke, or might not. (QueryKind::Tracked, invoke) => { let method = TrackedQuery { @@ -380,13 +336,6 @@ pub(crate) fn query_group_impl( }; trait_methods.push(Queries::Transparent(method)); } - // error/invalid constructions - (QueryKind::Interned, Some(path)) => { - return Err(syn::Error::new( - path.span(), - "Interned queries cannot be used with an `#[invoke]`".to_string(), - )); - } (QueryKind::Input, Some(path)) => { return Err(syn::Error::new( path.span(), @@ -451,8 +400,6 @@ pub(crate) fn query_group_impl( #(#trait_methods)* #(#setter_methods)* - - #(#lookup_methods)* } }; RemoveAttrsFromTraitMethods.visit_item_trait_mut(&mut item_trait); @@ -485,15 +432,6 @@ where } } -fn make_trait_method(sig: syn::Signature) -> TraitItemFn { - TraitItemFn { - attrs: vec![], - sig: sig.clone(), - semi_token: Some(syn::Token)), - default: None, - } -} - struct RemoveAttrsFromTraitMethods; impl VisitMut for RemoveAttrsFromTraitMethods { |