@aaswe/codebase-ai
Version:
AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs
37 lines • 1.81 kB
TypeScript
/**
* Go AST Analyzer
* Implements AST analysis for Go files using regex-based parsing
*/
import { BaseAnalyzer } from './BaseAnalyzer';
import { AnalysisContext, ASTNode, CodeFunction, CodeClass, ImportDeclaration, ExportDeclaration, ComplexityMetrics, ParserConfig } from './types';
export declare class GoAnalyzer 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 parseGoWithRegex;
private findLineNumber;
private findGoFunctionEndLine;
private parseGoParameters;
private parseGoReturnTypes;
private parseGoStructFields;
private parseGoInterfaceMethods;
private extractGoFunctionBody;
private extractGoParameters;
private calculateGoFunctionComplexity;
private calculateGoCognitiveComplexity;
private isGoExported;
private getGoPackageName;
private extractGoStructMethods;
private extractGoStructProperties;
private extractGoStructInterfaces;
private extractGoFunctionDependencies;
private extractGoFunctionCalls;
}
//# sourceMappingURL=GoAnalyzer.d.ts.map