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
//! RyoPattern - AST pattern matching and lint rules
//!
//! This crate provides declarative pattern matching for Rust AST nodes,
//! designed for code quality checks and refactoring detection.
//!
//! # Architecture
//!
//! ```text
//! ┌─────────────────────────────────────────────────────────────┐
//! │ RyoPattern Core │
//! ├─────────────────────────────────────────────────────────────┤
//! │ │
//! │ CodePattern ──────► AST node predicate │
//! │ │ (structural matching) │
//! │ ▼ │
//! │ Query Extension ──► Symbol filter + body + relations │
//! │ │ │
//! │ ▼ │
//! │ Rule ─────────────► Query + Message + Severity │
//! │ │ │
//! │ ▼ │
//! │ MatchResult ──────► Bool + Captures { $VAR: Node } │
//! │ │
//! └─────────────────────────────────────────────────────────────┘
//! ```
//!
//! # Design Principles
//!
//! 1. **Read-only**: Pattern matching is pure detection; mutations are external
//! 2. **Composable**: `any`/`all`/`none` logical grouping
//! 3. **Schema-Driven**: JSON Schema enables LLM-perfect query generation
//! 4. **Pre-built Graph**: Relation queries use pre-computed graphs
pub use *;
pub use ;
pub use *;
pub use *;
pub use ;
pub use *;
pub use ;
pub use *;
pub use *;