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