Documentation
¶
Index ¶
- func ResolveFilePaths(fileReader domain.FileReader, paths []string, recursive bool, ...) ([]string, error)
- type AnalysisTask
- type AnalyzeUseCase
- type AnalyzeUseCaseBuilder
- func (b *AnalyzeUseCaseBuilder) Build() (*AnalyzeUseCase, error)
- func (b *AnalyzeUseCaseBuilder) WithCBOUseCase(uc *CBOUseCase) *AnalyzeUseCaseBuilder
- func (b *AnalyzeUseCaseBuilder) WithCloneUseCase(uc *CloneUseCase) *AnalyzeUseCaseBuilder
- func (b *AnalyzeUseCaseBuilder) WithComplexityUseCase(uc *ComplexityUseCase) *AnalyzeUseCaseBuilder
- func (b *AnalyzeUseCaseBuilder) WithConfigLoader(cl domain.AnalyzeConfigurationLoader) *AnalyzeUseCaseBuilder
- func (b *AnalyzeUseCaseBuilder) WithDeadCodeUseCase(uc *DeadCodeUseCase) *AnalyzeUseCaseBuilder
- func (b *AnalyzeUseCaseBuilder) WithErrorCategorizer(ec domain.ErrorCategorizer) *AnalyzeUseCaseBuilder
- func (b *AnalyzeUseCaseBuilder) WithFileReader(fr domain.FileReader) *AnalyzeUseCaseBuilder
- func (b *AnalyzeUseCaseBuilder) WithFormatter(f domain.AnalyzeOutputFormatter) *AnalyzeUseCaseBuilder
- func (b *AnalyzeUseCaseBuilder) WithLCOMUseCase(uc *LCOMUseCase) *AnalyzeUseCaseBuilder
- func (b *AnalyzeUseCaseBuilder) WithParallelExecutor(pe domain.ParallelExecutor) *AnalyzeUseCaseBuilder
- func (b *AnalyzeUseCaseBuilder) WithProgressManager(pm domain.ProgressManager) *AnalyzeUseCaseBuilder
- func (b *AnalyzeUseCaseBuilder) WithSystemUseCase(uc *SystemAnalysisUseCase) *AnalyzeUseCaseBuilder
- type AnalyzeUseCaseConfig
- type CBOUseCase
- type CBOUseCaseBuilder
- func (b *CBOUseCaseBuilder) Build() (*CBOUseCase, error)
- func (b *CBOUseCaseBuilder) BuildWithDefaults() (*CBOUseCase, error)
- func (b *CBOUseCaseBuilder) WithConfigLoader(configLoader domain.CBOConfigurationLoader) *CBOUseCaseBuilder
- func (b *CBOUseCaseBuilder) WithFileReader(fileReader domain.FileReader) *CBOUseCaseBuilder
- func (b *CBOUseCaseBuilder) WithFormatter(formatter domain.CBOOutputFormatter) *CBOUseCaseBuilder
- func (b *CBOUseCaseBuilder) WithOutputWriter(output domain.ReportWriter) *CBOUseCaseBuilder
- func (b *CBOUseCaseBuilder) WithService(service domain.CBOService) *CBOUseCaseBuilder
- type CloneUseCase
- func (uc *CloneUseCase) ComputeFragmentSimilarity(ctx context.Context, fragment1, fragment2 string) (float64, error)
- func (uc *CloneUseCase) Execute(ctx context.Context, req domain.CloneRequest) error
- func (uc *CloneUseCase) ExecuteAndReturn(ctx context.Context, req domain.CloneRequest) (*domain.CloneResponse, error)
- func (uc *CloneUseCase) ExecuteWithFiles(ctx context.Context, filePaths []string, req domain.CloneRequest) error
- func (uc *CloneUseCase) SaveConfiguration(req domain.CloneRequest, configPath string) error
- type CloneUseCaseBuilder
- func (b *CloneUseCaseBuilder) Build() (*CloneUseCase, error)
- func (b *CloneUseCaseBuilder) WithConfigLoader(configLoader domain.CloneConfigurationLoader) *CloneUseCaseBuilder
- func (b *CloneUseCaseBuilder) WithFileReader(fileReader domain.FileReader) *CloneUseCaseBuilder
- func (b *CloneUseCaseBuilder) WithFormatter(formatter domain.CloneOutputFormatter) *CloneUseCaseBuilder
- func (b *CloneUseCaseBuilder) WithOutputWriter(output domain.ReportWriter) *CloneUseCaseBuilder
- func (b *CloneUseCaseBuilder) WithService(service domain.CloneService) *CloneUseCaseBuilder
- type ComplexityUseCase
- func (uc *ComplexityUseCase) AnalyzeAndReturn(ctx context.Context, req domain.ComplexityRequest) (*domain.ComplexityResponse, error)
- func (uc *ComplexityUseCase) AnalyzeFile(ctx context.Context, filePath string, req domain.ComplexityRequest) error
- func (uc *ComplexityUseCase) Execute(ctx context.Context, req domain.ComplexityRequest) error
- type ComplexityUseCaseBuilder
- func (b *ComplexityUseCaseBuilder) Build() (*ComplexityUseCase, error)
- func (b *ComplexityUseCaseBuilder) BuildWithDefaults() (*ComplexityUseCase, error)
- func (b *ComplexityUseCaseBuilder) WithConfigLoader(configLoader domain.ConfigurationLoader) *ComplexityUseCaseBuilder
- func (b *ComplexityUseCaseBuilder) WithFileReader(fileReader domain.FileReader) *ComplexityUseCaseBuilder
- func (b *ComplexityUseCaseBuilder) WithFormatter(formatter domain.OutputFormatter) *ComplexityUseCaseBuilder
- func (b *ComplexityUseCaseBuilder) WithOutputWriter(output domain.ReportWriter) *ComplexityUseCaseBuilder
- func (b *ComplexityUseCaseBuilder) WithService(service domain.ComplexityService) *ComplexityUseCaseBuilder
- type DIAntipatternUseCase
- type DIAntipatternUseCaseBuilder
- func (b *DIAntipatternUseCaseBuilder) Build() (*DIAntipatternUseCase, error)
- func (b *DIAntipatternUseCaseBuilder) WithConfigLoader(configLoader domain.DIAntipatternConfigurationLoader) *DIAntipatternUseCaseBuilder
- func (b *DIAntipatternUseCaseBuilder) WithFileReader(fileReader domain.FileReader) *DIAntipatternUseCaseBuilder
- func (b *DIAntipatternUseCaseBuilder) WithFormatter(formatter domain.DIAntipatternOutputFormatter) *DIAntipatternUseCaseBuilder
- func (b *DIAntipatternUseCaseBuilder) WithOutputWriter(output domain.ReportWriter) *DIAntipatternUseCaseBuilder
- func (b *DIAntipatternUseCaseBuilder) WithService(service domain.DIAntipatternService) *DIAntipatternUseCaseBuilder
- type DeadCodeUseCase
- func (uc *DeadCodeUseCase) AnalyzeAndReturn(ctx context.Context, req domain.DeadCodeRequest) (*domain.DeadCodeResponse, error)
- func (uc *DeadCodeUseCase) AnalyzeFile(ctx context.Context, filePath string, req domain.DeadCodeRequest) error
- func (uc *DeadCodeUseCase) AnalyzeFunction(ctx context.Context, functionCFG interface{}, req domain.DeadCodeRequest) (*domain.FunctionDeadCode, error)
- func (uc *DeadCodeUseCase) Execute(ctx context.Context, req domain.DeadCodeRequest) error
- func (uc *DeadCodeUseCase) ExecuteWithOptions(ctx context.Context, req domain.DeadCodeRequest, ...) error
- func (uc *DeadCodeUseCase) GetSupportedFormats() []domain.OutputFormat
- func (uc *DeadCodeUseCase) GetSupportedSeverityLevels() []domain.DeadCodeSeverity
- func (uc *DeadCodeUseCase) GetSupportedSortCriteria() []domain.DeadCodeSortCriteria
- func (uc *DeadCodeUseCase) QuickAnalysis(ctx context.Context, filePaths []string, outputWriter *os.File) error
- func (uc *DeadCodeUseCase) ValidateConfiguration(req domain.DeadCodeRequest) error
- type DeadCodeUseCaseBuilder
- func (b *DeadCodeUseCaseBuilder) Build() (*DeadCodeUseCase, error)
- func (b *DeadCodeUseCaseBuilder) BuildWithDefaults() (*DeadCodeUseCase, error)
- func (b *DeadCodeUseCaseBuilder) WithConfigLoader(configLoader domain.DeadCodeConfigurationLoader) *DeadCodeUseCaseBuilder
- func (b *DeadCodeUseCaseBuilder) WithFileReader(fileReader domain.FileReader) *DeadCodeUseCaseBuilder
- func (b *DeadCodeUseCaseBuilder) WithFormatter(formatter domain.DeadCodeFormatter) *DeadCodeUseCaseBuilder
- func (b *DeadCodeUseCaseBuilder) WithOutputWriter(output domain.ReportWriter) *DeadCodeUseCaseBuilder
- func (b *DeadCodeUseCaseBuilder) WithService(service domain.DeadCodeService) *DeadCodeUseCaseBuilder
- type DeadCodeUseCaseOptions
- type LCOMUseCase
- type LCOMUseCaseBuilder
- func (b *LCOMUseCaseBuilder) Build() (*LCOMUseCase, error)
- func (b *LCOMUseCaseBuilder) WithConfigLoader(configLoader domain.LCOMConfigurationLoader) *LCOMUseCaseBuilder
- func (b *LCOMUseCaseBuilder) WithFileReader(fileReader domain.FileReader) *LCOMUseCaseBuilder
- func (b *LCOMUseCaseBuilder) WithFormatter(formatter domain.LCOMOutputFormatter) *LCOMUseCaseBuilder
- func (b *LCOMUseCaseBuilder) WithOutputWriter(output domain.ReportWriter) *LCOMUseCaseBuilder
- func (b *LCOMUseCaseBuilder) WithService(service domain.LCOMService) *LCOMUseCaseBuilder
- type MockDataUseCase
- func (uc *MockDataUseCase) AnalyzeAndReturn(ctx context.Context, req domain.MockDataRequest) (*domain.MockDataResponse, error)
- func (uc *MockDataUseCase) AnalyzeFile(ctx context.Context, filePath string, req domain.MockDataRequest) error
- func (uc *MockDataUseCase) Execute(ctx context.Context, req domain.MockDataRequest) error
- type MockDataUseCaseBuilder
- func (b *MockDataUseCaseBuilder) Build() (*MockDataUseCase, error)
- func (b *MockDataUseCaseBuilder) BuildWithDefaults() (*MockDataUseCase, error)
- func (b *MockDataUseCaseBuilder) WithConfigLoader(configLoader domain.MockDataConfigurationLoader) *MockDataUseCaseBuilder
- func (b *MockDataUseCaseBuilder) WithFileReader(fileReader domain.FileReader) *MockDataUseCaseBuilder
- func (b *MockDataUseCaseBuilder) WithFormatter(formatter domain.MockDataFormatter) *MockDataUseCaseBuilder
- func (b *MockDataUseCaseBuilder) WithOutput(output domain.ReportWriter) *MockDataUseCaseBuilder
- func (b *MockDataUseCaseBuilder) WithService(service domain.MockDataService) *MockDataUseCaseBuilder
- type SystemAnalysisUseCase
- func (uc *SystemAnalysisUseCase) AnalyzeAndReturn(ctx context.Context, req domain.SystemAnalysisRequest) (*domain.SystemAnalysisResponse, error)
- func (uc *SystemAnalysisUseCase) AnalyzeArchitectureOnly(ctx context.Context, req domain.SystemAnalysisRequest) (*domain.ArchitectureAnalysisResult, error)
- func (uc *SystemAnalysisUseCase) AnalyzeDependenciesOnly(ctx context.Context, req domain.SystemAnalysisRequest) (*domain.DependencyAnalysisResult, error)
- func (uc *SystemAnalysisUseCase) Execute(ctx context.Context, req domain.SystemAnalysisRequest) error
- type SystemAnalysisUseCaseBuilder
- func (b *SystemAnalysisUseCaseBuilder) Build() (*SystemAnalysisUseCase, error)
- func (b *SystemAnalysisUseCaseBuilder) BuildWithDefaults() (*SystemAnalysisUseCase, error)
- func (b *SystemAnalysisUseCaseBuilder) WithConfigLoader(configLoader domain.SystemAnalysisConfigurationLoader) *SystemAnalysisUseCaseBuilder
- func (b *SystemAnalysisUseCaseBuilder) WithFileReader(fileReader domain.FileReader) *SystemAnalysisUseCaseBuilder
- func (b *SystemAnalysisUseCaseBuilder) WithFormatter(formatter domain.SystemAnalysisOutputFormatter) *SystemAnalysisUseCaseBuilder
- func (b *SystemAnalysisUseCaseBuilder) WithOutputWriter(output domain.ReportWriter) *SystemAnalysisUseCaseBuilder
- func (b *SystemAnalysisUseCaseBuilder) WithService(service domain.SystemAnalysisService) *SystemAnalysisUseCaseBuilder
- type UseCaseOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ResolveFilePaths ¶ added in v1.2.0
func ResolveFilePaths( fileReader domain.FileReader, paths []string, recursive bool, includePatterns []string, excludePatterns []string, validatePythonFile bool, ) ([]string, error)
ResolveFilePaths resolves file paths for analysis. If all paths are already files (not directories), returns them directly. Otherwise, collects Python files from the provided paths using the specified filters.
Parameters:
- fileReader: The file reader abstraction for file operations
- paths: The input paths to resolve (can be files or directories)
- recursive: Whether to recursively collect files from subdirectories
- includePatterns: Glob patterns for files to include
- excludePatterns: Glob patterns for files to exclude
- validatePythonFile: If true, also validates paths are Python files (stricter check)
Returns:
- []string: List of resolved Python file paths
- error: Any error encountered during resolution
This function optimizes the case where AnalyzeUseCase pre-collects files and passes them to individual analysis use cases, avoiding redundant file collection.
Types ¶
type AnalysisTask ¶
type AnalysisTask struct {
Name string
Enabled bool
Execute func(context.Context) (interface{}, error)
Result interface{}
Error error
}
AnalysisTask represents a single analysis task
type AnalyzeUseCase ¶
type AnalyzeUseCase struct {
// contains filtered or unexported fields
}
AnalyzeUseCase orchestrates comprehensive analysis
func (*AnalyzeUseCase) Execute ¶
func (uc *AnalyzeUseCase) Execute(ctx context.Context, useCaseCfg AnalyzeUseCaseConfig, paths []string) (*domain.AnalyzeResponse, error)
Execute performs comprehensive analysis
type AnalyzeUseCaseBuilder ¶
type AnalyzeUseCaseBuilder struct {
// contains filtered or unexported fields
}
AnalyzeUseCaseBuilder builds an AnalyzeUseCase
func NewAnalyzeUseCaseBuilder ¶
func NewAnalyzeUseCaseBuilder() *AnalyzeUseCaseBuilder
NewAnalyzeUseCaseBuilder creates a new builder
func (*AnalyzeUseCaseBuilder) Build ¶
func (b *AnalyzeUseCaseBuilder) Build() (*AnalyzeUseCase, error)
Build creates the AnalyzeUseCase
func (*AnalyzeUseCaseBuilder) WithCBOUseCase ¶
func (b *AnalyzeUseCaseBuilder) WithCBOUseCase(uc *CBOUseCase) *AnalyzeUseCaseBuilder
WithCBOUseCase sets the CBO use case
func (*AnalyzeUseCaseBuilder) WithCloneUseCase ¶
func (b *AnalyzeUseCaseBuilder) WithCloneUseCase(uc *CloneUseCase) *AnalyzeUseCaseBuilder
WithCloneUseCase sets the clone use case
func (*AnalyzeUseCaseBuilder) WithComplexityUseCase ¶
func (b *AnalyzeUseCaseBuilder) WithComplexityUseCase(uc *ComplexityUseCase) *AnalyzeUseCaseBuilder
WithComplexityUseCase sets the complexity use case
func (*AnalyzeUseCaseBuilder) WithConfigLoader ¶ added in v1.16.0
func (b *AnalyzeUseCaseBuilder) WithConfigLoader(cl domain.AnalyzeConfigurationLoader) *AnalyzeUseCaseBuilder
WithConfigLoader sets the analyze configuration loader.
func (*AnalyzeUseCaseBuilder) WithDeadCodeUseCase ¶
func (b *AnalyzeUseCaseBuilder) WithDeadCodeUseCase(uc *DeadCodeUseCase) *AnalyzeUseCaseBuilder
WithDeadCodeUseCase sets the dead code use case
func (*AnalyzeUseCaseBuilder) WithErrorCategorizer ¶
func (b *AnalyzeUseCaseBuilder) WithErrorCategorizer(ec domain.ErrorCategorizer) *AnalyzeUseCaseBuilder
WithErrorCategorizer sets the error categorizer
func (*AnalyzeUseCaseBuilder) WithFileReader ¶
func (b *AnalyzeUseCaseBuilder) WithFileReader(fr domain.FileReader) *AnalyzeUseCaseBuilder
WithFileReader sets the file reader
func (*AnalyzeUseCaseBuilder) WithFormatter ¶
func (b *AnalyzeUseCaseBuilder) WithFormatter(f domain.AnalyzeOutputFormatter) *AnalyzeUseCaseBuilder
WithFormatter sets the formatter
func (*AnalyzeUseCaseBuilder) WithLCOMUseCase ¶ added in v1.11.0
func (b *AnalyzeUseCaseBuilder) WithLCOMUseCase(uc *LCOMUseCase) *AnalyzeUseCaseBuilder
WithLCOMUseCase sets the LCOM use case
func (*AnalyzeUseCaseBuilder) WithParallelExecutor ¶
func (b *AnalyzeUseCaseBuilder) WithParallelExecutor(pe domain.ParallelExecutor) *AnalyzeUseCaseBuilder
WithParallelExecutor sets the parallel executor
func (*AnalyzeUseCaseBuilder) WithProgressManager ¶
func (b *AnalyzeUseCaseBuilder) WithProgressManager(pm domain.ProgressManager) *AnalyzeUseCaseBuilder
WithProgressManager sets the progress manager
func (*AnalyzeUseCaseBuilder) WithSystemUseCase ¶
func (b *AnalyzeUseCaseBuilder) WithSystemUseCase(uc *SystemAnalysisUseCase) *AnalyzeUseCaseBuilder
WithSystemUseCase sets the system analysis use case
type AnalyzeUseCaseConfig ¶
type AnalyzeUseCaseConfig struct {
SkipComplexity bool
SkipDeadCode bool
SkipClones bool
SkipCBO bool
SkipLCOM bool
SkipSystem bool
MinComplexity int
MinSeverity domain.DeadCodeSeverity
CloneSimilarity float64
MinCBO int
// Clone detection options
EnableDFA bool // Enable Data Flow Analysis for enhanced Type-4 detection
ConfigFile string
Verbose bool
}
AnalyzeUseCaseConfig holds configuration for the analyze use case
type CBOUseCase ¶
type CBOUseCase struct {
// contains filtered or unexported fields
}
CBOUseCase orchestrates the CBO analysis workflow
func NewCBOUseCase ¶
func NewCBOUseCase( service domain.CBOService, fileReader domain.FileReader, formatter domain.CBOOutputFormatter, configLoader domain.CBOConfigurationLoader, ) *CBOUseCase
NewCBOUseCase creates a new CBO use case
func (*CBOUseCase) AnalyzeAndReturn ¶
func (uc *CBOUseCase) AnalyzeAndReturn(ctx context.Context, req domain.CBORequest) (*domain.CBOResponse, error)
AnalyzeAndReturn performs CBO analysis and returns the response without formatting
func (*CBOUseCase) AnalyzeFile ¶
func (uc *CBOUseCase) AnalyzeFile(ctx context.Context, filePath string, req domain.CBORequest) error
AnalyzeFile analyzes a single file
func (*CBOUseCase) Execute ¶
func (uc *CBOUseCase) Execute(ctx context.Context, req domain.CBORequest) error
Execute performs the complete CBO analysis workflow
type CBOUseCaseBuilder ¶
type CBOUseCaseBuilder struct {
// contains filtered or unexported fields
}
CBOUseCaseBuilder provides a builder pattern for creating CBOUseCase
func NewCBOUseCaseBuilder ¶
func NewCBOUseCaseBuilder() *CBOUseCaseBuilder
NewCBOUseCaseBuilder creates a new builder
func (*CBOUseCaseBuilder) Build ¶
func (b *CBOUseCaseBuilder) Build() (*CBOUseCase, error)
Build creates the CBOUseCase with the configured dependencies
func (*CBOUseCaseBuilder) BuildWithDefaults ¶
func (b *CBOUseCaseBuilder) BuildWithDefaults() (*CBOUseCase, error)
BuildWithDefaults creates the CBOUseCase with default implementations for optional dependencies
func (*CBOUseCaseBuilder) WithConfigLoader ¶
func (b *CBOUseCaseBuilder) WithConfigLoader(configLoader domain.CBOConfigurationLoader) *CBOUseCaseBuilder
WithConfigLoader sets the configuration loader
func (*CBOUseCaseBuilder) WithFileReader ¶
func (b *CBOUseCaseBuilder) WithFileReader(fileReader domain.FileReader) *CBOUseCaseBuilder
WithFileReader sets the file reader
func (*CBOUseCaseBuilder) WithFormatter ¶
func (b *CBOUseCaseBuilder) WithFormatter(formatter domain.CBOOutputFormatter) *CBOUseCaseBuilder
WithFormatter sets the output formatter
func (*CBOUseCaseBuilder) WithOutputWriter ¶
func (b *CBOUseCaseBuilder) WithOutputWriter(output domain.ReportWriter) *CBOUseCaseBuilder
WithOutputWriter sets the report writer
func (*CBOUseCaseBuilder) WithService ¶
func (b *CBOUseCaseBuilder) WithService(service domain.CBOService) *CBOUseCaseBuilder
WithService sets the CBO service
type CloneUseCase ¶
type CloneUseCase struct {
// contains filtered or unexported fields
}
CloneUseCase orchestrates clone detection operations
func NewCloneUseCase ¶
func NewCloneUseCase( service domain.CloneService, fileReader domain.FileReader, formatter domain.CloneOutputFormatter, configLoader domain.CloneConfigurationLoader, ) *CloneUseCase
NewCloneUseCase creates a new clone use case with the given dependencies
func (*CloneUseCase) ComputeFragmentSimilarity ¶
func (uc *CloneUseCase) ComputeFragmentSimilarity(ctx context.Context, fragment1, fragment2 string) (float64, error)
ComputeFragmentSimilarity computes similarity between two code fragments
func (*CloneUseCase) Execute ¶
func (uc *CloneUseCase) Execute(ctx context.Context, req domain.CloneRequest) error
Execute executes the clone detection use case
func (*CloneUseCase) ExecuteAndReturn ¶
func (uc *CloneUseCase) ExecuteAndReturn(ctx context.Context, req domain.CloneRequest) (*domain.CloneResponse, error)
ExecuteAndReturn performs clone detection and returns the response without formatting
func (*CloneUseCase) ExecuteWithFiles ¶
func (uc *CloneUseCase) ExecuteWithFiles(ctx context.Context, filePaths []string, req domain.CloneRequest) error
ExecuteWithFiles executes clone detection on specific files
func (*CloneUseCase) SaveConfiguration ¶
func (uc *CloneUseCase) SaveConfiguration(req domain.CloneRequest, configPath string) error
SaveConfiguration saves the current clone detection configuration
type CloneUseCaseBuilder ¶
type CloneUseCaseBuilder struct {
// contains filtered or unexported fields
}
CloneUseCaseBuilder helps build CloneUseCase with dependencies
func NewCloneUseCaseBuilder ¶
func NewCloneUseCaseBuilder() *CloneUseCaseBuilder
NewCloneUseCaseBuilder creates a new builder for CloneUseCase
func (*CloneUseCaseBuilder) Build ¶
func (b *CloneUseCaseBuilder) Build() (*CloneUseCase, error)
Build creates the CloneUseCase with the configured dependencies
func (*CloneUseCaseBuilder) WithConfigLoader ¶
func (b *CloneUseCaseBuilder) WithConfigLoader(configLoader domain.CloneConfigurationLoader) *CloneUseCaseBuilder
WithConfigLoader sets the configuration loader
func (*CloneUseCaseBuilder) WithFileReader ¶
func (b *CloneUseCaseBuilder) WithFileReader(fileReader domain.FileReader) *CloneUseCaseBuilder
WithFileReader sets the file reader
func (*CloneUseCaseBuilder) WithFormatter ¶
func (b *CloneUseCaseBuilder) WithFormatter(formatter domain.CloneOutputFormatter) *CloneUseCaseBuilder
WithFormatter sets the output formatter
func (*CloneUseCaseBuilder) WithOutputWriter ¶
func (b *CloneUseCaseBuilder) WithOutputWriter(output domain.ReportWriter) *CloneUseCaseBuilder
WithOutputWriter sets the report writer
func (*CloneUseCaseBuilder) WithService ¶
func (b *CloneUseCaseBuilder) WithService(service domain.CloneService) *CloneUseCaseBuilder
WithService sets the clone service
type ComplexityUseCase ¶
type ComplexityUseCase struct {
// contains filtered or unexported fields
}
ComplexityUseCase orchestrates the complexity analysis workflow
func NewComplexityUseCase ¶
func NewComplexityUseCase( service domain.ComplexityService, fileReader domain.FileReader, formatter domain.OutputFormatter, configLoader domain.ConfigurationLoader, ) *ComplexityUseCase
NewComplexityUseCase creates a new complexity use case
func (*ComplexityUseCase) AnalyzeAndReturn ¶
func (uc *ComplexityUseCase) AnalyzeAndReturn(ctx context.Context, req domain.ComplexityRequest) (*domain.ComplexityResponse, error)
AnalyzeAndReturn performs complexity analysis and returns the response without formatting
func (*ComplexityUseCase) AnalyzeFile ¶
func (uc *ComplexityUseCase) AnalyzeFile(ctx context.Context, filePath string, req domain.ComplexityRequest) error
AnalyzeFile analyzes a single file
func (*ComplexityUseCase) Execute ¶
func (uc *ComplexityUseCase) Execute(ctx context.Context, req domain.ComplexityRequest) error
Execute performs the complete complexity analysis workflow
type ComplexityUseCaseBuilder ¶
type ComplexityUseCaseBuilder struct {
// contains filtered or unexported fields
}
ComplexityUseCaseBuilder provides a builder pattern for creating ComplexityUseCase
func NewComplexityUseCaseBuilder ¶
func NewComplexityUseCaseBuilder() *ComplexityUseCaseBuilder
NewComplexityUseCaseBuilder creates a new builder
func (*ComplexityUseCaseBuilder) Build ¶
func (b *ComplexityUseCaseBuilder) Build() (*ComplexityUseCase, error)
Build creates the ComplexityUseCase with the configured dependencies
func (*ComplexityUseCaseBuilder) BuildWithDefaults ¶
func (b *ComplexityUseCaseBuilder) BuildWithDefaults() (*ComplexityUseCase, error)
BuildWithDefaults creates the ComplexityUseCase with default implementations for optional dependencies
func (*ComplexityUseCaseBuilder) WithConfigLoader ¶
func (b *ComplexityUseCaseBuilder) WithConfigLoader(configLoader domain.ConfigurationLoader) *ComplexityUseCaseBuilder
WithConfigLoader sets the configuration loader
func (*ComplexityUseCaseBuilder) WithFileReader ¶
func (b *ComplexityUseCaseBuilder) WithFileReader(fileReader domain.FileReader) *ComplexityUseCaseBuilder
WithFileReader sets the file reader
func (*ComplexityUseCaseBuilder) WithFormatter ¶
func (b *ComplexityUseCaseBuilder) WithFormatter(formatter domain.OutputFormatter) *ComplexityUseCaseBuilder
WithFormatter sets the output formatter
func (*ComplexityUseCaseBuilder) WithOutputWriter ¶
func (b *ComplexityUseCaseBuilder) WithOutputWriter(output domain.ReportWriter) *ComplexityUseCaseBuilder
WithOutputWriter sets the report writer
func (*ComplexityUseCaseBuilder) WithService ¶
func (b *ComplexityUseCaseBuilder) WithService(service domain.ComplexityService) *ComplexityUseCaseBuilder
WithService sets the complexity service
type DIAntipatternUseCase ¶ added in v1.16.0
type DIAntipatternUseCase struct {
// contains filtered or unexported fields
}
DIAntipatternUseCase orchestrates the DI anti-pattern analysis workflow
func NewDIAntipatternUseCase ¶ added in v1.16.0
func NewDIAntipatternUseCase( service domain.DIAntipatternService, fileReader domain.FileReader, formatter domain.DIAntipatternOutputFormatter, configLoader domain.DIAntipatternConfigurationLoader, ) *DIAntipatternUseCase
NewDIAntipatternUseCase creates a new DI anti-pattern use case
func (*DIAntipatternUseCase) AnalyzeAndReturn ¶ added in v1.16.0
func (uc *DIAntipatternUseCase) AnalyzeAndReturn(ctx context.Context, req domain.DIAntipatternRequest) (*domain.DIAntipatternResponse, error)
AnalyzeAndReturn performs DI anti-pattern analysis and returns the response without formatting
func (*DIAntipatternUseCase) Execute ¶ added in v1.16.0
func (uc *DIAntipatternUseCase) Execute(ctx context.Context, req domain.DIAntipatternRequest) error
Execute performs the complete DI anti-pattern analysis workflow
type DIAntipatternUseCaseBuilder ¶ added in v1.16.0
type DIAntipatternUseCaseBuilder struct {
// contains filtered or unexported fields
}
DIAntipatternUseCaseBuilder provides a builder pattern for creating DIAntipatternUseCase
func NewDIAntipatternUseCaseBuilder ¶ added in v1.16.0
func NewDIAntipatternUseCaseBuilder() *DIAntipatternUseCaseBuilder
NewDIAntipatternUseCaseBuilder creates a new builder
func (*DIAntipatternUseCaseBuilder) Build ¶ added in v1.16.0
func (b *DIAntipatternUseCaseBuilder) Build() (*DIAntipatternUseCase, error)
Build creates the DIAntipatternUseCase with the configured dependencies. Optional dependencies (configLoader) are filled with no-op defaults if nil.
func (*DIAntipatternUseCaseBuilder) WithConfigLoader ¶ added in v1.16.0
func (b *DIAntipatternUseCaseBuilder) WithConfigLoader(configLoader domain.DIAntipatternConfigurationLoader) *DIAntipatternUseCaseBuilder
WithConfigLoader sets the configuration loader
func (*DIAntipatternUseCaseBuilder) WithFileReader ¶ added in v1.16.0
func (b *DIAntipatternUseCaseBuilder) WithFileReader(fileReader domain.FileReader) *DIAntipatternUseCaseBuilder
WithFileReader sets the file reader
func (*DIAntipatternUseCaseBuilder) WithFormatter ¶ added in v1.16.0
func (b *DIAntipatternUseCaseBuilder) WithFormatter(formatter domain.DIAntipatternOutputFormatter) *DIAntipatternUseCaseBuilder
WithFormatter sets the output formatter
func (*DIAntipatternUseCaseBuilder) WithOutputWriter ¶ added in v1.16.0
func (b *DIAntipatternUseCaseBuilder) WithOutputWriter(output domain.ReportWriter) *DIAntipatternUseCaseBuilder
WithOutputWriter sets the report writer
func (*DIAntipatternUseCaseBuilder) WithService ¶ added in v1.16.0
func (b *DIAntipatternUseCaseBuilder) WithService(service domain.DIAntipatternService) *DIAntipatternUseCaseBuilder
WithService sets the DI anti-pattern service
type DeadCodeUseCase ¶
type DeadCodeUseCase struct {
// contains filtered or unexported fields
}
DeadCodeUseCase orchestrates the dead code analysis workflow
func NewDeadCodeUseCase ¶
func NewDeadCodeUseCase( service domain.DeadCodeService, fileReader domain.FileReader, formatter domain.DeadCodeFormatter, configLoader domain.DeadCodeConfigurationLoader, ) *DeadCodeUseCase
NewDeadCodeUseCase creates a new dead code use case
func (*DeadCodeUseCase) AnalyzeAndReturn ¶
func (uc *DeadCodeUseCase) AnalyzeAndReturn(ctx context.Context, req domain.DeadCodeRequest) (*domain.DeadCodeResponse, error)
AnalyzeAndReturn performs dead code analysis and returns the response without formatting
func (*DeadCodeUseCase) AnalyzeFile ¶
func (uc *DeadCodeUseCase) AnalyzeFile(ctx context.Context, filePath string, req domain.DeadCodeRequest) error
AnalyzeFile analyzes a single file for dead code
func (*DeadCodeUseCase) AnalyzeFunction ¶
func (uc *DeadCodeUseCase) AnalyzeFunction(ctx context.Context, functionCFG interface{}, req domain.DeadCodeRequest) (*domain.FunctionDeadCode, error)
AnalyzeFunction analyzes a single function for dead code
func (*DeadCodeUseCase) Execute ¶
func (uc *DeadCodeUseCase) Execute(ctx context.Context, req domain.DeadCodeRequest) error
Execute performs the complete dead code analysis workflow
func (*DeadCodeUseCase) ExecuteWithOptions ¶
func (uc *DeadCodeUseCase) ExecuteWithOptions(ctx context.Context, req domain.DeadCodeRequest, options DeadCodeUseCaseOptions) error
ExecuteWithOptions performs dead code analysis with custom options
func (*DeadCodeUseCase) GetSupportedFormats ¶
func (uc *DeadCodeUseCase) GetSupportedFormats() []domain.OutputFormat
GetSupportedFormats returns the list of supported output formats
func (*DeadCodeUseCase) GetSupportedSeverityLevels ¶
func (uc *DeadCodeUseCase) GetSupportedSeverityLevels() []domain.DeadCodeSeverity
GetSupportedSeverityLevels returns the list of supported severity levels
func (*DeadCodeUseCase) GetSupportedSortCriteria ¶
func (uc *DeadCodeUseCase) GetSupportedSortCriteria() []domain.DeadCodeSortCriteria
GetSupportedSortCriteria returns the list of supported sort criteria
func (*DeadCodeUseCase) QuickAnalysis ¶
func (uc *DeadCodeUseCase) QuickAnalysis(ctx context.Context, filePaths []string, outputWriter *os.File) error
QuickAnalysis performs a quick dead code analysis with minimal configuration
func (*DeadCodeUseCase) ValidateConfiguration ¶
func (uc *DeadCodeUseCase) ValidateConfiguration(req domain.DeadCodeRequest) error
ValidateConfiguration validates a dead code configuration
type DeadCodeUseCaseBuilder ¶
type DeadCodeUseCaseBuilder struct {
// contains filtered or unexported fields
}
DeadCodeUseCaseBuilder provides a builder pattern for creating DeadCodeUseCase
func NewDeadCodeUseCaseBuilder ¶
func NewDeadCodeUseCaseBuilder() *DeadCodeUseCaseBuilder
NewDeadCodeUseCaseBuilder creates a new builder
func (*DeadCodeUseCaseBuilder) Build ¶
func (b *DeadCodeUseCaseBuilder) Build() (*DeadCodeUseCase, error)
Build creates the DeadCodeUseCase with the configured dependencies
func (*DeadCodeUseCaseBuilder) BuildWithDefaults ¶
func (b *DeadCodeUseCaseBuilder) BuildWithDefaults() (*DeadCodeUseCase, error)
BuildWithDefaults creates the DeadCodeUseCase with default implementations for optional dependencies
func (*DeadCodeUseCaseBuilder) WithConfigLoader ¶
func (b *DeadCodeUseCaseBuilder) WithConfigLoader(configLoader domain.DeadCodeConfigurationLoader) *DeadCodeUseCaseBuilder
WithConfigLoader sets the configuration loader
func (*DeadCodeUseCaseBuilder) WithFileReader ¶
func (b *DeadCodeUseCaseBuilder) WithFileReader(fileReader domain.FileReader) *DeadCodeUseCaseBuilder
WithFileReader sets the file reader
func (*DeadCodeUseCaseBuilder) WithFormatter ¶
func (b *DeadCodeUseCaseBuilder) WithFormatter(formatter domain.DeadCodeFormatter) *DeadCodeUseCaseBuilder
WithFormatter sets the output formatter
func (*DeadCodeUseCaseBuilder) WithOutputWriter ¶
func (b *DeadCodeUseCaseBuilder) WithOutputWriter(output domain.ReportWriter) *DeadCodeUseCaseBuilder
WithOutputWriter sets the report writer
func (*DeadCodeUseCaseBuilder) WithService ¶
func (b *DeadCodeUseCaseBuilder) WithService(service domain.DeadCodeService) *DeadCodeUseCaseBuilder
WithService sets the dead code service
type DeadCodeUseCaseOptions ¶
type DeadCodeUseCaseOptions struct {
EnableProgress bool
ProgressInterval time.Duration
MaxConcurrency int
TimeoutPerFile time.Duration
ShowContext bool
ContextLines int
}
DeadCodeUseCaseOptions provides configuration options for the dead code use case
func DefaultDeadCodeUseCaseOptions ¶
func DefaultDeadCodeUseCaseOptions() DeadCodeUseCaseOptions
DefaultDeadCodeUseCaseOptions returns default options
type LCOMUseCase ¶ added in v1.11.0
type LCOMUseCase struct {
// contains filtered or unexported fields
}
LCOMUseCase orchestrates the LCOM analysis workflow
func NewLCOMUseCase ¶ added in v1.11.0
func NewLCOMUseCase( service domain.LCOMService, fileReader domain.FileReader, formatter domain.LCOMOutputFormatter, configLoader domain.LCOMConfigurationLoader, ) *LCOMUseCase
NewLCOMUseCase creates a new LCOM use case
func (*LCOMUseCase) AnalyzeAndReturn ¶ added in v1.11.0
func (uc *LCOMUseCase) AnalyzeAndReturn(ctx context.Context, req domain.LCOMRequest) (*domain.LCOMResponse, error)
AnalyzeAndReturn performs LCOM analysis and returns the response without formatting
func (*LCOMUseCase) Execute ¶ added in v1.11.0
func (uc *LCOMUseCase) Execute(ctx context.Context, req domain.LCOMRequest) error
Execute performs the complete LCOM analysis workflow
type LCOMUseCaseBuilder ¶ added in v1.11.0
type LCOMUseCaseBuilder struct {
// contains filtered or unexported fields
}
LCOMUseCaseBuilder provides a builder pattern for creating LCOMUseCase
func NewLCOMUseCaseBuilder ¶ added in v1.11.0
func NewLCOMUseCaseBuilder() *LCOMUseCaseBuilder
NewLCOMUseCaseBuilder creates a new builder
func (*LCOMUseCaseBuilder) Build ¶ added in v1.11.0
func (b *LCOMUseCaseBuilder) Build() (*LCOMUseCase, error)
Build creates the LCOMUseCase with the configured dependencies
func (*LCOMUseCaseBuilder) WithConfigLoader ¶ added in v1.11.0
func (b *LCOMUseCaseBuilder) WithConfigLoader(configLoader domain.LCOMConfigurationLoader) *LCOMUseCaseBuilder
WithConfigLoader sets the configuration loader
func (*LCOMUseCaseBuilder) WithFileReader ¶ added in v1.11.0
func (b *LCOMUseCaseBuilder) WithFileReader(fileReader domain.FileReader) *LCOMUseCaseBuilder
WithFileReader sets the file reader
func (*LCOMUseCaseBuilder) WithFormatter ¶ added in v1.11.0
func (b *LCOMUseCaseBuilder) WithFormatter(formatter domain.LCOMOutputFormatter) *LCOMUseCaseBuilder
WithFormatter sets the output formatter
func (*LCOMUseCaseBuilder) WithOutputWriter ¶ added in v1.11.0
func (b *LCOMUseCaseBuilder) WithOutputWriter(output domain.ReportWriter) *LCOMUseCaseBuilder
WithOutputWriter sets the report writer
func (*LCOMUseCaseBuilder) WithService ¶ added in v1.11.0
func (b *LCOMUseCaseBuilder) WithService(service domain.LCOMService) *LCOMUseCaseBuilder
WithService sets the LCOM service
type MockDataUseCase ¶ added in v1.7.0
type MockDataUseCase struct {
// contains filtered or unexported fields
}
MockDataUseCase orchestrates the mock data analysis workflow
func NewMockDataUseCase ¶ added in v1.7.0
func NewMockDataUseCase( service domain.MockDataService, fileReader domain.FileReader, formatter domain.MockDataFormatter, configLoader domain.MockDataConfigurationLoader, ) *MockDataUseCase
NewMockDataUseCase creates a new mock data use case
func (*MockDataUseCase) AnalyzeAndReturn ¶ added in v1.7.0
func (uc *MockDataUseCase) AnalyzeAndReturn(ctx context.Context, req domain.MockDataRequest) (*domain.MockDataResponse, error)
AnalyzeAndReturn performs mock data analysis and returns the response without formatting
func (*MockDataUseCase) AnalyzeFile ¶ added in v1.7.0
func (uc *MockDataUseCase) AnalyzeFile(ctx context.Context, filePath string, req domain.MockDataRequest) error
AnalyzeFile analyzes a single file for mock data
func (*MockDataUseCase) Execute ¶ added in v1.7.0
func (uc *MockDataUseCase) Execute(ctx context.Context, req domain.MockDataRequest) error
Execute performs the complete mock data analysis workflow
type MockDataUseCaseBuilder ¶ added in v1.7.0
type MockDataUseCaseBuilder struct {
// contains filtered or unexported fields
}
MockDataUseCaseBuilder provides a builder pattern for constructing MockDataUseCase
func NewMockDataUseCaseBuilder ¶ added in v1.7.0
func NewMockDataUseCaseBuilder() *MockDataUseCaseBuilder
NewMockDataUseCaseBuilder creates a new builder
func (*MockDataUseCaseBuilder) Build ¶ added in v1.7.0
func (b *MockDataUseCaseBuilder) Build() (*MockDataUseCase, error)
Build creates the MockDataUseCase with validation
func (*MockDataUseCaseBuilder) BuildWithDefaults ¶ added in v1.7.0
func (b *MockDataUseCaseBuilder) BuildWithDefaults() (*MockDataUseCase, error)
BuildWithDefaults creates the MockDataUseCase with default implementations
func (*MockDataUseCaseBuilder) WithConfigLoader ¶ added in v1.7.0
func (b *MockDataUseCaseBuilder) WithConfigLoader(configLoader domain.MockDataConfigurationLoader) *MockDataUseCaseBuilder
WithConfigLoader sets the configuration loader
func (*MockDataUseCaseBuilder) WithFileReader ¶ added in v1.7.0
func (b *MockDataUseCaseBuilder) WithFileReader(fileReader domain.FileReader) *MockDataUseCaseBuilder
WithFileReader sets the file reader
func (*MockDataUseCaseBuilder) WithFormatter ¶ added in v1.7.0
func (b *MockDataUseCaseBuilder) WithFormatter(formatter domain.MockDataFormatter) *MockDataUseCaseBuilder
WithFormatter sets the output formatter
func (*MockDataUseCaseBuilder) WithOutput ¶ added in v1.7.0
func (b *MockDataUseCaseBuilder) WithOutput(output domain.ReportWriter) *MockDataUseCaseBuilder
WithOutput sets the report writer
func (*MockDataUseCaseBuilder) WithService ¶ added in v1.7.0
func (b *MockDataUseCaseBuilder) WithService(service domain.MockDataService) *MockDataUseCaseBuilder
WithService sets the mock data service
type SystemAnalysisUseCase ¶
type SystemAnalysisUseCase struct {
// contains filtered or unexported fields
}
SystemAnalysisUseCase orchestrates the system analysis workflow
func NewSystemAnalysisUseCase ¶
func NewSystemAnalysisUseCase( service domain.SystemAnalysisService, fileReader domain.FileReader, formatter domain.SystemAnalysisOutputFormatter, configLoader domain.SystemAnalysisConfigurationLoader, ) *SystemAnalysisUseCase
NewSystemAnalysisUseCase creates a new system analysis use case
func (*SystemAnalysisUseCase) AnalyzeAndReturn ¶
func (uc *SystemAnalysisUseCase) AnalyzeAndReturn(ctx context.Context, req domain.SystemAnalysisRequest) (*domain.SystemAnalysisResponse, error)
AnalyzeAndReturn performs system analysis and returns the response without formatting
func (*SystemAnalysisUseCase) AnalyzeArchitectureOnly ¶
func (uc *SystemAnalysisUseCase) AnalyzeArchitectureOnly(ctx context.Context, req domain.SystemAnalysisRequest) (*domain.ArchitectureAnalysisResult, error)
AnalyzeArchitectureOnly performs architecture analysis only
func (*SystemAnalysisUseCase) AnalyzeDependenciesOnly ¶
func (uc *SystemAnalysisUseCase) AnalyzeDependenciesOnly(ctx context.Context, req domain.SystemAnalysisRequest) (*domain.DependencyAnalysisResult, error)
AnalyzeDependenciesOnly performs dependency analysis only
func (*SystemAnalysisUseCase) Execute ¶
func (uc *SystemAnalysisUseCase) Execute(ctx context.Context, req domain.SystemAnalysisRequest) error
Execute performs the complete system analysis workflow
type SystemAnalysisUseCaseBuilder ¶
type SystemAnalysisUseCaseBuilder struct {
// contains filtered or unexported fields
}
SystemAnalysisUseCaseBuilder provides a builder pattern for creating SystemAnalysisUseCase
func NewSystemAnalysisUseCaseBuilder ¶
func NewSystemAnalysisUseCaseBuilder() *SystemAnalysisUseCaseBuilder
NewSystemAnalysisUseCaseBuilder creates a new builder
func (*SystemAnalysisUseCaseBuilder) Build ¶
func (b *SystemAnalysisUseCaseBuilder) Build() (*SystemAnalysisUseCase, error)
Build creates the SystemAnalysisUseCase with the configured dependencies
func (*SystemAnalysisUseCaseBuilder) BuildWithDefaults ¶
func (b *SystemAnalysisUseCaseBuilder) BuildWithDefaults() (*SystemAnalysisUseCase, error)
BuildWithDefaults creates the SystemAnalysisUseCase with default implementations for optional dependencies
func (*SystemAnalysisUseCaseBuilder) WithConfigLoader ¶
func (b *SystemAnalysisUseCaseBuilder) WithConfigLoader(configLoader domain.SystemAnalysisConfigurationLoader) *SystemAnalysisUseCaseBuilder
WithConfigLoader sets the configuration loader
func (*SystemAnalysisUseCaseBuilder) WithFileReader ¶
func (b *SystemAnalysisUseCaseBuilder) WithFileReader(fileReader domain.FileReader) *SystemAnalysisUseCaseBuilder
WithFileReader sets the file reader
func (*SystemAnalysisUseCaseBuilder) WithFormatter ¶
func (b *SystemAnalysisUseCaseBuilder) WithFormatter(formatter domain.SystemAnalysisOutputFormatter) *SystemAnalysisUseCaseBuilder
WithFormatter sets the output formatter
func (*SystemAnalysisUseCaseBuilder) WithOutputWriter ¶
func (b *SystemAnalysisUseCaseBuilder) WithOutputWriter(output domain.ReportWriter) *SystemAnalysisUseCaseBuilder
WithOutputWriter sets the report writer
func (*SystemAnalysisUseCaseBuilder) WithService ¶
func (b *SystemAnalysisUseCaseBuilder) WithService(service domain.SystemAnalysisService) *SystemAnalysisUseCaseBuilder
WithService sets the system analysis service
type UseCaseOptions ¶
type UseCaseOptions struct {
EnableProgress bool
ProgressInterval time.Duration
MaxConcurrency int
TimeoutPerFile time.Duration
}
UseCaseOptions provides configuration options for the use case
func DefaultUseCaseOptions ¶
func DefaultUseCaseOptions() UseCaseOptions
DefaultUseCaseOptions returns default options