Index: pkg/analyzer_cli/lib/src/driver.dart |
diff --git a/pkg/analyzer_cli/lib/src/driver.dart b/pkg/analyzer_cli/lib/src/driver.dart |
index 4d80c619888406413934e8a63c7d191d3652cf16..3b187162752fbbc1be7b27e8adb140fae086945c 100644 |
--- a/pkg/analyzer_cli/lib/src/driver.dart |
+++ b/pkg/analyzer_cli/lib/src/driver.dart |
@@ -37,6 +37,7 @@ import 'package:analyzer/src/task/options.dart'; |
import 'package:analyzer_cli/src/analyzer_impl.dart'; |
import 'package:analyzer_cli/src/build_mode.dart'; |
import 'package:analyzer_cli/src/error_formatter.dart'; |
+import 'package:analyzer_cli/src/incremental_analyzer.dart'; |
import 'package:analyzer_cli/src/options.dart'; |
import 'package:analyzer_cli/src/perf_report.dart'; |
import 'package:analyzer_cli/starter.dart'; |
@@ -86,6 +87,8 @@ class Driver implements CommandLineStarter { |
/// creation. |
CommandLineOptions _previousOptions; |
+ IncrementalAnalysisData incrementalData; |
+ |
@override |
EmbeddedResolverProvider embeddedUriResolverProvider; |
@@ -217,6 +220,8 @@ class Driver implements CommandLineStarter { |
libUris.add(source.uri); |
} |
+ incrementalData?.finish(); |
+ |
// Check that each part has a corresponding source in the input list. |
for (Source part in parts) { |
bool found = false; |
@@ -297,6 +302,9 @@ class Driver implements CommandLineStarter { |
if (options.enableSuperMixins != _previousOptions.enableSuperMixins) { |
return false; |
} |
+ if (options.incrementalCachePath != _previousOptions.incrementalCachePath) { |
+ return false; |
+ } |
return true; |
} |
@@ -510,6 +518,8 @@ class Driver implements CommandLineStarter { |
_chooseUriResolutionPolicy(options, embedderMap, packageInfo); |
_context.sourceFactory = sourceFactory; |
+ |
+ incrementalData = configureIncrementalAnalysis(options, context); |
} |
/// Return discovered packagespec, or `null` if none is found. |