ParallelAnalyzer class

Parallel analyzer for large codebases.

Processes multiple files concurrently using async/await parallelism. Supports progress callbacks and memory-efficient chunked processing.

Example:

final analyzer = ParallelAnalyzer('lib');

// With progress tracking
final report = await analyzer.analyzeWithProgress(
  onProgress: (completed, total, file) {
    print('[$completed/$total] Analyzing $file');
  },
);

print('Health Score: ${report.healthScore}');
await analyzer.dispose();

Constructors

ParallelAnalyzer(String projectPath, {ParallelAnalysisConfig? config})

Properties

config ParallelAnalysisConfig
final
hashCode int
The hash code for this object.
no setterinherited
projectPath String
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

analyzeParallelStream() Stream<FileAnalysisResult>
Analyzes files in parallel and streams results.
analyzeStream() Stream<FileAnalysisResult>
Analyzes files and streams results.
analyzeWithProgress({AnalysisProgressCallback? onProgress}) Future<AggregatedReport>
Analyzes all files with progress reporting.
discoverFiles() List<String>
Discovers all Dart files in the project.
dispose() Future<void>
Releases resources.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited