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