codeprism_analysis/
lib.rs

1//! Language-agnostic code analysis tools for CodePrism
2
3pub mod api_surface;
4pub mod complexity;
5pub mod duplicates;
6pub mod performance;
7pub mod security;
8pub mod semantic;
9
10pub use api_surface::ApiSurfaceAnalyzer;
11pub use complexity::ComplexityAnalyzer;
12pub use duplicates::DuplicateAnalyzer;
13pub use performance::PerformanceAnalyzer;
14pub use security::SecurityAnalyzer;
15
16// Remove unused imports
17
18/// Main analysis coordinator
19pub struct CodeAnalyzer {
20    pub complexity: ComplexityAnalyzer,
21    pub duplicates: DuplicateAnalyzer,
22    pub security: SecurityAnalyzer,
23    pub performance: PerformanceAnalyzer,
24    pub api_surface: ApiSurfaceAnalyzer,
25}
26
27impl CodeAnalyzer {
28    pub fn new() -> Self {
29        Self {
30            complexity: ComplexityAnalyzer::new(),
31            duplicates: DuplicateAnalyzer::new(),
32            security: SecurityAnalyzer::new(),
33            performance: PerformanceAnalyzer::new(),
34            api_surface: ApiSurfaceAnalyzer::new(),
35        }
36    }
37}
38
39impl Default for CodeAnalyzer {
40    fn default() -> Self {
41        Self::new()
42    }
43}