aboutsummaryrefslogtreecommitdiff
path: root/mingling_macros/src/func/register_dispatcher.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-08-17 02:29:30 +0800
committer魏曹先生 <1992414357@qq.com>2026-08-17 02:39:56 +0800
commit6980fbf2f9fb4c599d8dc6ff549a8b3288eb24e9 (patch)
treebc7049698955d7a40706ea691fd5bab526a6b5e5 /mingling_macros/src/func/register_dispatcher.rs
parent4c191b2b46a67a0dda6e9a867b40f45156af4f9c (diff)
refactor!: remove dynamic dispatcher registration API
Dispatchers are now always registered at compile time, removing the `with_dispatcher` / `with_dispatchers` methods and the `PathfinderConfig` API. The `dispatch_tree` feature now only controls the matching strategy (trie vs linear list).
Diffstat (limited to 'mingling_macros/src/func/register_dispatcher.rs')
-rw-r--r--mingling_macros/src/func/register_dispatcher.rs20
1 files changed, 2 insertions, 18 deletions
diff --git a/mingling_macros/src/func/register_dispatcher.rs b/mingling_macros/src/func/register_dispatcher.rs
index eb4a6e4..dc9a31a 100644
--- a/mingling_macros/src/func/register_dispatcher.rs
+++ b/mingling_macros/src/func/register_dispatcher.rs
@@ -1,26 +1,19 @@
// Doc Not Optimize
-#[cfg(feature = "dispatch_tree")]
use just_fmt::snake_case;
use proc_macro::TokenStream;
use quote::quote;
-#[cfg(feature = "dispatch_tree")]
use syn::parse::{Parse, ParseStream};
-#[cfg(feature = "dispatch_tree")]
use syn::{Ident, LitStr, Result as SynResult, Token};
-#[cfg(feature = "dispatch_tree")]
use crate::COMPILE_TIME_DISPATCHERS;
-#[cfg(feature = "dispatch_tree")]
use crate::get_global_set;
-#[cfg(feature = "dispatch_tree")]
struct RegisterDispatcherInput {
node_name: LitStr,
dispatcher_type: Ident,
entry_name: Ident,
}
-#[cfg(feature = "dispatch_tree")]
impl Parse for RegisterDispatcherInput {
fn parse(input: ParseStream) -> SynResult<Self> {
let node_name: LitStr = input.parse()?;
@@ -28,7 +21,7 @@ impl Parse for RegisterDispatcherInput {
let dispatcher_type: Ident = input.parse()?;
input.parse::<Token![,]>()?;
let entry_name: Ident = input.parse()?;
- Ok(RegisterDispatcherInput {
+ Ok(Self {
node_name,
dispatcher_type,
entry_name,
@@ -36,7 +29,6 @@ impl Parse for RegisterDispatcherInput {
}
}
-#[cfg(feature = "dispatch_tree")]
pub(crate) fn register_dispatcher(input: TokenStream) -> TokenStream {
let RegisterDispatcherInput {
node_name,
@@ -56,10 +48,7 @@ pub(crate) fn register_dispatcher(input: TokenStream) -> TokenStream {
get_global_set(&COMPILE_TIME_DISPATCHERS)
.lock()
.unwrap()
- .insert(format!(
- "{}:{}:{}",
- node_name_str, dispatcher_type, entry_name
- ));
+ .insert(format!("{node_name_str}:{dispatcher_type}:{entry_name}"));
let expanded = quote! {
#[doc(hidden)]
@@ -69,8 +58,3 @@ pub(crate) fn register_dispatcher(input: TokenStream) -> TokenStream {
expanded.into()
}
-
-#[cfg(not(feature = "dispatch_tree"))]
-pub(crate) fn register_dispatcher(_input: TokenStream) -> TokenStream {
- quote! {}.into()
-}