| 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 domain.completion; | |
| 6 | |
| 7 import 'dart:async'; | 5 import 'dart:async'; |
| 8 | 6 |
| 9 import 'package:analysis_server/protocol/protocol.dart'; | 7 import 'package:analysis_server/protocol/protocol.dart'; |
| 10 import 'package:analysis_server/protocol/protocol_generated.dart'; | 8 import 'package:analysis_server/protocol/protocol_generated.dart'; |
| 11 import 'package:analysis_server/src/analysis_server.dart'; | 9 import 'package:analysis_server/src/analysis_server.dart'; |
| 12 import 'package:analysis_server/src/constants.dart'; | 10 import 'package:analysis_server/src/constants.dart'; |
| 13 import 'package:analysis_server/src/domain_abstract.dart'; | 11 import 'package:analysis_server/src/domain_abstract.dart'; |
| 14 import 'package:analysis_server/src/plugin/plugin_manager.dart'; | 12 import 'package:analysis_server/src/plugin/plugin_manager.dart'; |
| 15 import 'package:analysis_server/src/plugin/result_converter.dart'; | |
| 16 import 'package:analysis_server/src/provisional/completion/completion_core.dart'
; | 13 import 'package:analysis_server/src/provisional/completion/completion_core.dart'
; |
| 17 import 'package:analysis_server/src/services/completion/completion_core.dart'; | 14 import 'package:analysis_server/src/services/completion/completion_core.dart'; |
| 18 import 'package:analysis_server/src/services/completion/completion_performance.d
art'; | 15 import 'package:analysis_server/src/services/completion/completion_performance.d
art'; |
| 19 import 'package:analyzer/src/dart/analysis/driver.dart'; | 16 import 'package:analyzer/src/dart/analysis/driver.dart'; |
| 20 import 'package:analyzer/src/generated/source.dart'; | 17 import 'package:analyzer/src/generated/source.dart'; |
| 21 import 'package:analyzer_plugin/protocol/protocol.dart' as plugin; | 18 import 'package:analyzer_plugin/protocol/protocol.dart' as plugin; |
| 19 import 'package:analyzer_plugin/protocol/protocol_common.dart'; |
| 22 import 'package:analyzer_plugin/protocol/protocol_constants.dart' as plugin; | 20 import 'package:analyzer_plugin/protocol/protocol_constants.dart' as plugin; |
| 23 import 'package:analyzer_plugin/protocol/protocol_generated.dart' as plugin; | 21 import 'package:analyzer_plugin/protocol/protocol_generated.dart' as plugin; |
| 24 | 22 |
| 25 /** | 23 /** |
| 26 * Instances of the class [CompletionDomainHandler] implement a [RequestHandler] | 24 * Instances of the class [CompletionDomainHandler] implement a [RequestHandler] |
| 27 * that handles requests in the completion domain. | 25 * that handles requests in the completion domain. |
| 28 */ | 26 */ |
| 29 class CompletionDomainHandler extends AbstractRequestHandler { | 27 class CompletionDomainHandler extends AbstractRequestHandler { |
| 30 /** | 28 /** |
| 31 * The maximum number of performance measurements to keep. | 29 * The maximum number of performance measurements to keep. |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 | 109 |
| 112 // TODO (danrubel) if request is obsolete (processAnalysisRequest returns | 110 // TODO (danrubel) if request is obsolete (processAnalysisRequest returns |
| 113 // false) then send empty results | 111 // false) then send empty results |
| 114 | 112 |
| 115 // | 113 // |
| 116 // Add the fixes produced by plugins to the server-generated fixes. | 114 // Add the fixes produced by plugins to the server-generated fixes. |
| 117 // | 115 // |
| 118 if (pluginFutures != null) { | 116 if (pluginFutures != null) { |
| 119 List<plugin.Response> responses = await waitForResponses(pluginFutures, | 117 List<plugin.Response> responses = await waitForResponses(pluginFutures, |
| 120 requestParameters: requestParams); | 118 requestParameters: requestParams); |
| 121 ResultConverter converter = new ResultConverter(); | |
| 122 for (plugin.Response response in responses) { | 119 for (plugin.Response response in responses) { |
| 123 plugin.CompletionGetSuggestionsResult result = | 120 plugin.CompletionGetSuggestionsResult result = |
| 124 new plugin.CompletionGetSuggestionsResult.fromResponse(response); | 121 new plugin.CompletionGetSuggestionsResult.fromResponse(response); |
| 125 suggestions | 122 suggestions.addAll(result.results); |
| 126 .addAll(result.results.map(converter.convertCompletionSuggestion)); | |
| 127 } | 123 } |
| 128 } | 124 } |
| 129 // | 125 // |
| 130 // Return the result. | 126 // Return the result. |
| 131 // | 127 // |
| 132 return new CompletionResult( | 128 return new CompletionResult( |
| 133 request.replacementOffset, request.replacementLength, suggestions); | 129 request.replacementOffset, request.replacementLength, suggestions); |
| 134 } | 130 } |
| 135 | 131 |
| 136 @override | 132 @override |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 291 final int replacementOffset; | 287 final int replacementOffset; |
| 292 | 288 |
| 293 /** | 289 /** |
| 294 * The suggested completions. | 290 * The suggested completions. |
| 295 */ | 291 */ |
| 296 final List<CompletionSuggestion> suggestions; | 292 final List<CompletionSuggestion> suggestions; |
| 297 | 293 |
| 298 CompletionResult( | 294 CompletionResult( |
| 299 this.replacementOffset, this.replacementLength, this.suggestions); | 295 this.replacementOffset, this.replacementLength, this.suggestions); |
| 300 } | 296 } |
| OLD | NEW |