| OLD | NEW |
| 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:core' hide Resource; | 9 import 'dart:core' hide Resource; |
| 10 import 'dart:math' show max; | 10 import 'dart:math' show max; |
| 11 | 11 |
| 12 import 'package:analysis_server/plugin/analyzed_files.dart'; | 12 import 'package:analysis_server/plugin/analyzed_files.dart'; |
| 13 import 'package:analysis_server/src/analysis_logger.dart'; | 13 import 'package:analysis_server/src/analysis_logger.dart'; |
| 14 import 'package:analysis_server/src/channel/channel.dart'; | 14 import 'package:analysis_server/src/channel/channel.dart'; |
| 15 import 'package:analysis_server/src/context_manager.dart'; | 15 import 'package:analysis_server/src/context_manager.dart'; |
| 16 import 'package:analysis_server/src/operation/operation.dart'; | 16 import 'package:analysis_server/src/operation/operation.dart'; |
| 17 import 'package:analysis_server/src/operation/operation_analysis.dart'; | 17 import 'package:analysis_server/src/operation/operation_analysis.dart'; |
| 18 import 'package:analysis_server/src/operation/operation_queue.dart'; | 18 import 'package:analysis_server/src/operation/operation_queue.dart'; |
| 19 import 'package:analysis_server/src/plugin/server_plugin.dart'; | 19 import 'package:analysis_server/src/plugin/server_plugin.dart'; |
| 20 import 'package:analysis_server/src/protocol.dart' hide Element; | 20 import 'package:analysis_server/src/protocol.dart' hide Element; |
| 21 import 'package:analysis_server/src/services/correction/namespace.dart'; | 21 import 'package:analysis_server/src/services/correction/namespace.dart'; |
| 22 import 'package:analysis_server/src/services/index/index.dart'; | 22 import 'package:analysis_server/src/services/index/index.dart'; |
| 23 import 'package:analysis_server/src/services/search/search_engine.dart'; | 23 import 'package:analysis_server/src/services/search/search_engine.dart'; |
| 24 import 'package:analysis_server/src/source/optimizing_pub_package_map_provider.d
art'; | |
| 25 import 'package:analysis_server/uri/resolver_provider.dart'; | 24 import 'package:analysis_server/uri/resolver_provider.dart'; |
| 26 import 'package:analyzer/file_system/file_system.dart'; | 25 import 'package:analyzer/file_system/file_system.dart'; |
| 27 import 'package:analyzer/instrumentation/instrumentation.dart'; | 26 import 'package:analyzer/instrumentation/instrumentation.dart'; |
| 27 import 'package:analyzer/source/pub_package_map_provider.dart'; |
| 28 import 'package:analyzer/src/generated/ast.dart'; | 28 import 'package:analyzer/src/generated/ast.dart'; |
| 29 import 'package:analyzer/src/generated/element.dart'; | 29 import 'package:analyzer/src/generated/element.dart'; |
| 30 import 'package:analyzer/src/generated/engine.dart'; | 30 import 'package:analyzer/src/generated/engine.dart'; |
| 31 import 'package:analyzer/src/generated/java_engine.dart'; | 31 import 'package:analyzer/src/generated/java_engine.dart'; |
| 32 import 'package:analyzer/src/generated/sdk.dart'; | 32 import 'package:analyzer/src/generated/sdk.dart'; |
| 33 import 'package:analyzer/src/generated/source.dart'; | 33 import 'package:analyzer/src/generated/source.dart'; |
| 34 import 'package:analyzer/src/generated/source_io.dart'; | 34 import 'package:analyzer/src/generated/source_io.dart'; |
| 35 import 'package:analyzer/src/generated/utilities_general.dart'; | 35 import 'package:analyzer/src/generated/utilities_general.dart'; |
| 36 import 'package:package_config/packages.dart'; | |
| 37 import 'package:plugin/plugin.dart'; | 36 import 'package:plugin/plugin.dart'; |
| 38 | 37 |
| 39 typedef void OptionUpdater(AnalysisOptionsImpl options); | 38 typedef void OptionUpdater(AnalysisOptionsImpl options); |
| 40 | 39 |
| 41 /** | 40 /** |
| 42 * Enum representing reasons why analysis might be done for a given file. | 41 * Enum representing reasons why analysis might be done for a given file. |
| 43 */ | 42 */ |
| 44 class AnalysisDoneReason { | 43 class AnalysisDoneReason { |
| 45 /** | 44 /** |
| 46 * Analysis of the file completed successfully. | 45 * Analysis of the file completed successfully. |
| (...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 286 * | 285 * |
| 287 * If a [contextManager] is provided, then the [packageResolverProvider] will | 286 * If a [contextManager] is provided, then the [packageResolverProvider] will |
| 288 * be ignored. | 287 * be ignored. |
| 289 * | 288 * |
| 290 * If [rethrowExceptions] is true, then any exceptions thrown by analysis are | 289 * If [rethrowExceptions] is true, then any exceptions thrown by analysis are |
| 291 * propagated up the call stack. The default is true to allow analysis | 290 * propagated up the call stack. The default is true to allow analysis |
| 292 * exceptions to show up in unit tests, but it should be set to false when | 291 * exceptions to show up in unit tests, but it should be set to false when |
| 293 * running a full analysis server. | 292 * running a full analysis server. |
| 294 */ | 293 */ |
| 295 AnalysisServer(this.channel, this.resourceProvider, | 294 AnalysisServer(this.channel, this.resourceProvider, |
| 296 OptimizingPubPackageMapProvider packageMapProvider, Index _index, | 295 PubPackageMapProvider packageMapProvider, Index _index, this.serverPlugin, |
| 297 this.serverPlugin, this.options, this.defaultSdk, | 296 this.options, this.defaultSdk, this.instrumentationService, |
| 298 this.instrumentationService, {ContextManager contextManager: null, | 297 {ContextManager contextManager: null, |
| 299 ResolverProvider packageResolverProvider: null, | 298 ResolverProvider packageResolverProvider: null, |
| 300 this.rethrowExceptions: true}) | 299 this.rethrowExceptions: true}) |
| 301 : index = _index, | 300 : index = _index, |
| 302 searchEngine = _index != null ? createSearchEngine(_index) : null { | 301 searchEngine = _index != null ? createSearchEngine(_index) : null { |
| 303 _performance = performanceDuringStartup; | 302 _performance = performanceDuringStartup; |
| 304 operationQueue = new ServerOperationQueue(); | 303 operationQueue = new ServerOperationQueue(); |
| 305 if (contextManager == null) { | 304 if (contextManager == null) { |
| 306 contextManager = new ContextManagerImpl(resourceProvider, | 305 contextManager = new ContextManagerImpl(resourceProvider, |
| 307 packageResolverProvider, packageMapProvider, instrumentationService); | 306 packageResolverProvider, packageMapProvider, instrumentationService); |
| 308 } | 307 } |
| (...skipping 1244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1553 /** | 1552 /** |
| 1554 * The [PerformanceTag] for time spent in server request handlers. | 1553 * The [PerformanceTag] for time spent in server request handlers. |
| 1555 */ | 1554 */ |
| 1556 static PerformanceTag serverRequests = new PerformanceTag('serverRequests'); | 1555 static PerformanceTag serverRequests = new PerformanceTag('serverRequests'); |
| 1557 | 1556 |
| 1558 /** | 1557 /** |
| 1559 * The [PerformanceTag] for time spent in split store microtasks. | 1558 * The [PerformanceTag] for time spent in split store microtasks. |
| 1560 */ | 1559 */ |
| 1561 static PerformanceTag splitStore = new PerformanceTag('splitStore'); | 1560 static PerformanceTag splitStore = new PerformanceTag('splitStore'); |
| 1562 } | 1561 } |
| OLD | NEW |