aboutsummaryrefslogtreecommitdiff
path: root/mingling_core
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-06-28 09:06:08 +0800
committer魏曹先生 <1992414357@qq.com>2026-06-28 09:06:08 +0800
commit748c14588cf1c31c8b8d60a9c94349c0173ef607 (patch)
tree4c09bfafd93b629a68f0f78902a33e8dd9ef18d1 /mingling_core
parent50f2d767e2d07685e49fb7deae68d506ea11a79d (diff)
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!()`.
Diffstat (limited to 'mingling_core')
-rw-r--r--mingling_core/src/builds.rs5
-rw-r--r--mingling_core/src/lib.rs9
2 files changed, 13 insertions, 1 deletions
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::*;
+}