From 748c14588cf1c31c8b8d60a9c94349c0173ef607 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Sun, 28 Jun 2026 09:06:08 +0800 Subject: feat(pathf): add build-time type path resolution system Add `mingling_pathf` sub-crate and `pathf` feature for automatic resolution of Mingling type module paths at build time. Scans source files, identifies macro invocations via pattern matchers, and generates mapping files consumed by `gen_program!()`. --- mingling_core/src/builds.rs | 5 ++++- mingling_core/src/lib.rs | 9 +++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'mingling_core/src') diff --git a/mingling_core/src/builds.rs b/mingling_core/src/builds.rs index 51bafe6..17dc7d2 100644 --- a/mingling_core/src/builds.rs +++ b/mingling_core/src/builds.rs @@ -3,4 +3,7 @@ pub mod comp; #[cfg(all(feature = "builds", feature = "pathf"))] -pub use mingling_pathf::*; +pub use mingling_pathf::analyze_and_build_type_mapping; + +#[cfg(all(feature = "builds", feature = "pathf"))] +pub use mingling_pathf::analyze_and_build_type_mapping_for; diff --git a/mingling_core/src/lib.rs b/mingling_core/src/lib.rs index ef7d192..d49fa7f 100644 --- a/mingling_core/src/lib.rs +++ b/mingling_core/src/lib.rs @@ -44,6 +44,8 @@ pub mod error { pub use crate::program::error::*; #[cfg(feature = "structural_renderer")] pub use crate::renderer::structural::error::*; + #[cfg(feature = "pathf")] + pub use mingling_pathf::error::*; } pub use crate::program::*; @@ -92,3 +94,10 @@ pub mod core_res { #[cfg(feature = "repl")] pub use crate::program::repl_exec::res::ResREPL; } + +#[cfg(feature = "pathf")] +pub mod pathf { + pub use mingling_pathf::module_pathf::*; + pub use mingling_pathf::pattern_analyzer::*; + pub use mingling_pathf::patterns::*; +} -- cgit