UNPKG

@aaswe/codebase-ai

Version:

AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs

107 lines 2.96 kB
import { BaseAnalyzer } from './BaseAnalyzer'; import { ASTNode, CodeFunction, CodeClass, ImportDeclaration, ExportDeclaration, AnalysisContext, ComplexityMetrics } from './types'; /** * Rust AST Analyzer * Analyzes Rust source code using regex-based parsing * Handles Rust-specific constructs like traits, impls, modules, and ownership */ export declare class RustAnalyzer extends BaseAnalyzer { constructor(); /** * Parse Rust source code (regex-based approach) */ protected parseAST(content: string, context: AnalysisContext): Promise<any>; /** * Extract AST nodes from Rust code */ protected extractNodes(ast: any, context: AnalysisContext): Promise<ASTNode[]>; /** * Extract functions from Rust code */ protected extractFunctions(ast: any, context: AnalysisContext): Promise<CodeFunction[]>; /** * Extract classes (structs, enums, traits) from Rust code */ protected extractClasses(ast: any, context: AnalysisContext): Promise<CodeClass[]>; /** * Extract imports (use statements) from Rust code */ protected extractImports(ast: any, context: AnalysisContext): Promise<ImportDeclaration[]>; /** * Extract exports from Rust code */ protected extractExports(ast: any, context: AnalysisContext): Promise<ExportDeclaration[]>; /** * Extract dependencies from Rust code */ protected extractDependencies(ast: any, _context: AnalysisContext): Promise<string[]>; /** * Calculate complexity metrics for Rust code */ protected calculateComplexity(ast: any, _context: AnalysisContext): Promise<ComplexityMetrics>; /** * Get parser configuration for Rust */ protected getParserConfig(): any; /** * Get line number from character index */ private getLineNumber; /** * Find the end of a code block */ private findBlockEnd; /** * Parse Rust modules */ private parseModules; /** * Parse Rust constants */ private parseConstants; /** * Parse Rust static variables */ private parseStatics; /** * Parse Rust function parameters */ private parseRustParameters; /** * Parse Rust structs */ private parseStructs; /** * Parse Rust enums */ private parseEnums; /** * Parse Rust traits */ private parseTraits; /** * Parse struct fields */ private parseStructFields; /** * Parse tuple struct fields */ private parseTupleFields; /** * Parse enum variants */ private parseEnumVariants; /** * Parse trait methods */ private parseTraitMethods; /** * Extract function calls from code */ private extractFunctionCalls; /** * Calculate complexity for a single function */ private calculateFunctionComplexity; } //# sourceMappingURL=RustAnalyzer.d.ts.map