@aaswe/codebase-ai
Version:
AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs
52 lines • 2.34 kB
TypeScript
/**
* Java AST Analyzer
* Implements AST analysis for Java files using java-parser
*/
import { BaseAnalyzer } from './BaseAnalyzer';
import { AnalysisContext, ASTNode, CodeFunction, CodeClass, ImportDeclaration, ExportDeclaration, ComplexityMetrics, ParserConfig } from './types';
export declare class JavaAnalyzer extends BaseAnalyzer {
constructor();
protected parseAST(content: string, _context: AnalysisContext): Promise<any>;
protected extractNodes(ast: any, context: AnalysisContext): Promise<ASTNode[]>;
protected extractFunctions(ast: any, context: AnalysisContext): Promise<CodeFunction[]>;
protected extractClasses(ast: any, context: AnalysisContext): Promise<CodeClass[]>;
protected extractImports(ast: any, context: AnalysisContext): Promise<ImportDeclaration[]>;
protected extractExports(ast: any, context: AnalysisContext): Promise<ExportDeclaration[]>;
protected extractDependencies(ast: any, _context: AnalysisContext): Promise<string[]>;
protected calculateComplexity(ast: any, _context: AnalysisContext): Promise<ComplexityMetrics>;
protected getParserConfig(): ParserConfig;
private convertCSTToAST;
private extractPackageDeclaration;
private extractImportDeclaration;
private extractClassDeclaration;
private extractInterfaceDeclaration;
private extractEnumDeclaration;
private extractMethods;
private extractInterfaceMethods;
private extractFields;
private extractMethodDeclaration;
private extractConstructorDeclaration;
private extractInterfaceMethodDeclaration;
private extractFieldDeclaration;
private extractMethodParameters;
private extractMethodBodyFromCST;
private extractBlockStatements;
private extractStatementType;
private extractModifiers;
private extractQualifiedName;
private extractIdentifier;
private extractType;
private extractSuperClass;
private extractInterfaces;
private extractJavaParameters;
private calculateJavaMethodComplexity;
private calculateJavaCognitiveComplexity;
private isJavaPublic;
private getJavaVisibility;
private isJavaAbstract;
private getJavaImportName;
private extractJavaClassProperties;
private extractJavaMethodDependencies;
private extractJavaMethodCalls;
}
//# sourceMappingURL=JavaAnalyzer.d.ts.map