Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Side by Side Diff: pkg/analysis_server/lib/src/analysis_server.dart

Issue 981283003: Change all sources associated with changed files (issue 22680) (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library analysis.server; 5 library analysis.server;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:collection'; 8 import 'dart:collection';
9 import 'dart:math' show max; 9 import 'dart:math' show max;
10 10
(...skipping 1002 matching lines...) Expand 10 before | Expand all | Expand 10 after
1013 } 1013 }
1014 } else if (change is RemoveContentOverlay) { 1014 } else if (change is RemoveContentOverlay) {
1015 newContents = null; 1015 newContents = null;
1016 } else { 1016 } else {
1017 // Protocol parsing should have ensured that we never get here. 1017 // Protocol parsing should have ensured that we never get here.
1018 throw new AnalysisException('Illegal change type'); 1018 throw new AnalysisException('Illegal change type');
1019 } 1019 }
1020 overlayState.setContents(source, newContents); 1020 overlayState.setContents(source, newContents);
1021 // Update all contexts. 1021 // Update all contexts.
1022 for (InternalAnalysisContext context in folderMap.values) { 1022 for (InternalAnalysisContext context in folderMap.values) {
1023 if (context.handleContentsChanged( 1023 List<Source> sources = context.getSourcesWithFullName(file);
1024 source, oldContents, newContents, true)) { 1024 sources.forEach((Source source) {
1025 schedulePerformAnalysisOperation(context); 1025 if (context.handleContentsChanged(
1026 } else { 1026 source, oldContents, newContents, true)) {
1027 // When the client sends any change for a source, we should resend 1027 schedulePerformAnalysisOperation(context);
1028 // subscribed notifications, even if there were no changes in the 1028 } else {
1029 // source contents. 1029 // When the client sends any change for a source, we should resend
1030 // TODO(scheglov) consider checking if there are subscriptions. 1030 // subscribed notifications, even if there were no changes in the
1031 if (AnalysisEngine.isDartFileName(file)) { 1031 // source contents.
1032 List<CompilationUnit> dartUnits = 1032 // TODO(scheglov) consider checking if there are subscriptions.
1033 context.ensureResolvedDartUnits(source); 1033 if (AnalysisEngine.isDartFileName(file)) {
1034 if (dartUnits != null) { 1034 List<CompilationUnit> dartUnits =
1035 AnalysisErrorInfo errorInfo = context.getErrors(source); 1035 context.ensureResolvedDartUnits(source);
1036 for (var dartUnit in dartUnits) { 1036 if (dartUnits != null) {
1037 scheduleNotificationOperations(this, file, errorInfo.lineInfo, 1037 AnalysisErrorInfo errorInfo = context.getErrors(source);
1038 context, null, dartUnit, errorInfo.errors); 1038 for (var dartUnit in dartUnits) {
1039 scheduleIndexOperation(this, file, context, dartUnit); 1039 scheduleNotificationOperations(this, file, errorInfo.lineInfo,
1040 context, null, dartUnit, errorInfo.errors);
1041 scheduleIndexOperation(this, file, context, dartUnit);
1042 }
1043 } else {
1044 schedulePerformAnalysisOperation(context);
1040 } 1045 }
1041 } else {
1042 schedulePerformAnalysisOperation(context);
1043 } 1046 }
1044 } 1047 }
1045 } 1048 });
1046 } 1049 }
1047 }); 1050 });
1048 } 1051 }
1049 1052
1050 /** 1053 /**
1051 * Use the given updaters to update the values of the options in every 1054 * Use the given updaters to update the values of the options in every
1052 * existing analysis context. 1055 * existing analysis context.
1053 */ 1056 */
1054 void updateOptions(List<OptionUpdater> optionUpdaters) { 1057 void updateOptions(List<OptionUpdater> optionUpdaters) {
1055 // 1058 //
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
1364 /** 1367 /**
1365 * The [PerformanceTag] for time spent in server request handlers. 1368 * The [PerformanceTag] for time spent in server request handlers.
1366 */ 1369 */
1367 static PerformanceTag serverRequests = new PerformanceTag('serverRequests'); 1370 static PerformanceTag serverRequests = new PerformanceTag('serverRequests');
1368 1371
1369 /** 1372 /**
1370 * The [PerformanceTag] for time spent in split store microtasks. 1373 * The [PerformanceTag] for time spent in split store microtasks.
1371 */ 1374 */
1372 static PerformanceTag splitStore = new PerformanceTag('splitStore'); 1375 static PerformanceTag splitStore = new PerformanceTag('splitStore');
1373 } 1376 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analysis_server/lib/src/context_manager.dart » ('j') | pkg/analyzer/lib/src/generated/engine.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698