UNPKG

sicua

Version:

A tool for analyzing project structure and dependencies

149 lines (148 loc) 4.63 kB
import { BusinessLogicDefinition } from "../types/businessLogicExtractor.types"; import { ComponentContext } from "../types/componentExtractor.types"; import { DependencyContext, FileContextType } from "../types/contextualSummaries.types"; import { FunctionContext } from "../types/functionExtractor.types"; import { SemanticAnalysisResult } from "../types/semanticAnalysis.types"; import { TypeContext } from "../types/typeExtractor.types"; export declare class SemanticAnalyzer { /** * Performs comprehensive semantic analysis on extracted data */ static analyzeSemantics(fileType: FileContextType, functionContext: FunctionContext, componentContext: ComponentContext, typeContext: TypeContext, businessLogic: BusinessLogicDefinition, dependencyContext: DependencyContext, filePath: string, content: string): SemanticAnalysisResult; /** * Analyzes file-level semantics */ private analyzeFileSemantics; /** * Determines the primary purpose of the file */ private determinePrimaryPurpose; /** * Determines secondary purposes */ private determineSecondaryPurposes; /** * Extracts domain concepts from the code */ private extractDomainConcepts; /** * Extracts technical concepts */ private extractTechnicalConcepts; /** * Assesses business value of the file */ private assessBusinessValue; /** * Analyzes semantic complexity */ private analyzeSemanticComplexity; /** * Analyzes architectural patterns */ private analyzeArchitecturalPatterns; /** * Analyzes code quality */ private analyzeCodeQuality; /** * Analyzes design patterns */ private analyzeDesignPatterns; /** * Analyzes relationships between components */ private analyzeRelationships; /** * Generates contextual insights */ private generateContextualInsights; /** * Generates actionable recommendations */ private generateRecommendations; /** * Identifies risk factors */ private identifyRiskFactors; /** * Identifies optimization opportunities */ private identifyOptimizationOpportunities; private categorizeUtilityFunctions; private isDomainType; private classifyDomainType; private extractTypeRelationships; private analyzePatternUsage; private calculatePatternEffectiveness; private getPatternAlternatives; private calculateConceptualComplexity; private calculateInteractionComplexity; private calculateDataComplexity; private calculateAlgorithmicComplexity; private analyzeComplexityTrends; private analyzeMaintainability; private analyzeCohesion; private analyzeCoupling; private calculateFunctionalCohesion; private calculateComponentCohesion; private calculateBusinessCohesion; private calculateFunctionCoupling; private calculateComponentCoupling; private identifyArchitecturalLayer; /** * Analyzes separation of concerns */ private analyzeSeparationOfConcerns; /** * Analyzes adherence to design principles */ private analyzeDesignPrinciples; /** * Identifies code smells */ private identifyCodeSmells; /** * Calculates architectural debt */ private calculateArchitecturalDebt; /** * Detects design patterns in the code */ private detectDesignPatterns; /** * Identifies missing pattern opportunities */ private identifyMissingPatterns; /** * Identifies pattern misuse */ private identifyPatternMisuse; /** * Suggests pattern evolution */ private suggestPatternEvolution; private identifyFunctionConcerns; private analyzeSOLIDPrinciples; private analyzeSingleResponsibility; private analyzeOpenClosed; private analyzeLiskovSubstitution; private analyzeInterfaceSegregation; private analyzeDependencyInversion; private analyzeDRYPrinciple; private analyzeKISSPrinciple; private analyzeYAGNIPrinciple; private analyzeDependencyStrength; private calculateCouplingMetrics; private calculateCohesionMetrics; private calculateAbstractness; private calculateReadabilityMetrics; private calculateTestabilityMetrics; private calculatePerformanceMetrics; private calculateSecurityMetrics; private calculateMaintainabilityScore; private calculateReliabilityMetrics; private findDuplicateFunctions; private groupSimilarFunctions; private groupSimilarComponents; }