1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
//! Compile-time analysis passes for the LOGOS compilation pipeline.
//!
//! This module provides static analysis that runs after parsing but before
//! code generation. These passes detect errors that would otherwise manifest
//! as confusing Rust borrow checker errors.
//!
//! # Analysis Passes
//!
//! | Pass | Module | Description |
//! |------|--------|-------------|
//! | Escape | [`escape`] | Detects zone-local values escaping their scope |
//! | Ownership | [`ownership`] | Linear type enforcement (use-after-move) |
//! | Discovery | [`discover_with_imports`] | Multi-file type discovery |
//!
//! # Pass Ordering
//!
//! ```text
//! Parser Output (AST)
//! │
//! ▼
//! ┌──────────────┐
//! │ Escape Check │ ← Catches zone violations (fast, simple)
//! └──────────────┘
//! │
//! ▼
//! ┌─────────────────┐
//! │ Ownership Check │ ← Catches use-after-move (control-flow aware)
//! └─────────────────┘
//! │
//! ▼
//! Code Generation
//! ```
//!
//! # Re-exports
//!
//! This module re-exports types from `logicaffeine_language::analysis` for
//! convenience, including:
//! - [`TypeRegistry`], [`TypeDef`], [`FieldDef`] - Type definitions
//! - [`PolicyRegistry`], [`PredicateDef`], [`CapabilityDef`] - Security policies
//! - [`DiscoveryPass`] - Token-level type discovery
pub use ;
pub use ;
pub use discover_with_imports;
// Re-export language analysis types with submodule aliases
pub use ;