@aaswe/codebase-ai
Version:
AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs
107 lines • 2.96 kB
TypeScript
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