sicua
Version:
A tool for analyzing project structure and dependencies
149 lines (148 loc) • 4.63 kB
TypeScript
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;
}