| Index: pkg/analysis_server/lib/src/context_manager.dart
|
| diff --git a/pkg/analysis_server/lib/src/context_manager.dart b/pkg/analysis_server/lib/src/context_manager.dart
|
| index 04cf2e95c75b0892c466e8e68a3b47ecb0e531f7..083874b29b6299b21bb0a127055fa23690171949 100644
|
| --- a/pkg/analysis_server/lib/src/context_manager.dart
|
| +++ b/pkg/analysis_server/lib/src/context_manager.dart
|
| @@ -949,20 +949,31 @@ class ContextManagerImpl implements ContextManager {
|
| * file.)
|
| */
|
| List<String> _computeFlushedFiles(ContextInfo info) {
|
| - AnalysisContext context = info.context;
|
| - HashSet<String> flushedFiles = new HashSet<String>();
|
| - for (Source source in context.sources) {
|
| - flushedFiles.add(source.fullName);
|
| - }
|
| - for (ContextInfo contextInfo in rootInfo.descendants) {
|
| - AnalysisContext contextN = contextInfo.context;
|
| - if (context != contextN) {
|
| - for (Source source in contextN.sources) {
|
| - flushedFiles.remove(source.fullName);
|
| + if (enableNewAnalysisDriver) {
|
| + Set<String> flushedFiles = info.analysisDriver.knownFiles.toSet();
|
| + for (ContextInfo contextInfo in rootInfo.descendants) {
|
| + AnalysisDriver other = contextInfo.analysisDriver;
|
| + if (other != info.analysisDriver) {
|
| + flushedFiles.removeAll(other.knownFiles);
|
| + }
|
| + }
|
| + return flushedFiles.toList(growable: false);
|
| + } else {
|
| + AnalysisContext context = info.context;
|
| + HashSet<String> flushedFiles = new HashSet<String>();
|
| + for (Source source in context.sources) {
|
| + flushedFiles.add(source.fullName);
|
| + }
|
| + for (ContextInfo contextInfo in rootInfo.descendants) {
|
| + AnalysisContext contextN = contextInfo.context;
|
| + if (context != contextN) {
|
| + for (Source source in contextN.sources) {
|
| + flushedFiles.remove(source.fullName);
|
| + }
|
| }
|
| }
|
| + return flushedFiles.toList(growable: false);
|
| }
|
| - return flushedFiles.toList(growable: false);
|
| }
|
|
|
| /**
|
|
|