OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 import 'dart:async'; | 5 import 'dart:async'; |
6 | 6 |
7 import 'package:analysis_server/src/provisional/completion/completion_core.dart' | 7 import 'package:analysis_server/src/provisional/completion/completion_core.dart' |
8 show CompletionContributor, CompletionRequest; | 8 show CompletionContributor, CompletionRequest; |
9 import 'package:analysis_server/src/provisional/completion/dart/completion_dart.
dart'; | 9 import 'package:analysis_server/src/provisional/completion/dart/completion_dart.
dart'; |
10 import 'package:analysis_server/src/provisional/completion/dart/completion_plugi
n.dart'; | |
11 import 'package:analysis_server/src/services/completion/completion_core.dart'; | 10 import 'package:analysis_server/src/services/completion/completion_core.dart'; |
12 import 'package:analysis_server/src/services/completion/completion_performance.d
art'; | 11 import 'package:analysis_server/src/services/completion/completion_performance.d
art'; |
| 12 import 'package:analysis_server/src/services/completion/dart/arglist_contributor
.dart'; |
| 13 import 'package:analysis_server/src/services/completion/dart/combinator_contribu
tor.dart'; |
13 import 'package:analysis_server/src/services/completion/dart/common_usage_sorter
.dart'; | 14 import 'package:analysis_server/src/services/completion/dart/common_usage_sorter
.dart'; |
14 import 'package:analysis_server/src/services/completion/dart/contribution_sorter
.dart'; | 15 import 'package:analysis_server/src/services/completion/dart/contribution_sorter
.dart'; |
| 16 import 'package:analysis_server/src/services/completion/dart/field_formal_contri
butor.dart'; |
| 17 import 'package:analysis_server/src/services/completion/dart/imported_reference_
contributor.dart'; |
| 18 import 'package:analysis_server/src/services/completion/dart/inherited_reference
_contributor.dart'; |
| 19 import 'package:analysis_server/src/services/completion/dart/keyword_contributor
.dart'; |
| 20 import 'package:analysis_server/src/services/completion/dart/label_contributor.d
art'; |
| 21 import 'package:analysis_server/src/services/completion/dart/library_member_cont
ributor.dart'; |
| 22 import 'package:analysis_server/src/services/completion/dart/library_prefix_cont
ributor.dart'; |
| 23 import 'package:analysis_server/src/services/completion/dart/local_constructor_c
ontributor.dart'; |
| 24 import 'package:analysis_server/src/services/completion/dart/local_library_contr
ibutor.dart'; |
| 25 import 'package:analysis_server/src/services/completion/dart/local_reference_con
tributor.dart'; |
| 26 import 'package:analysis_server/src/services/completion/dart/named_constructor_c
ontributor.dart'; |
| 27 import 'package:analysis_server/src/services/completion/dart/static_member_contr
ibutor.dart'; |
| 28 import 'package:analysis_server/src/services/completion/dart/type_member_contrib
utor.dart'; |
| 29 import 'package:analysis_server/src/services/completion/dart/uri_contributor.dar
t'; |
| 30 import 'package:analysis_server/src/services/completion/dart/variable_name_contr
ibutor.dart'; |
15 import 'package:analyzer/dart/ast/ast.dart'; | 31 import 'package:analyzer/dart/ast/ast.dart'; |
16 import 'package:analyzer/dart/ast/standard_ast_factory.dart'; | 32 import 'package:analyzer/dart/ast/standard_ast_factory.dart'; |
17 import 'package:analyzer/dart/ast/token.dart'; | 33 import 'package:analyzer/dart/ast/token.dart'; |
18 import 'package:analyzer/dart/element/element.dart'; | 34 import 'package:analyzer/dart/element/element.dart'; |
19 import 'package:analyzer/dart/element/type.dart'; | 35 import 'package:analyzer/dart/element/type.dart'; |
20 import 'package:analyzer/file_system/file_system.dart'; | 36 import 'package:analyzer/file_system/file_system.dart'; |
21 import 'package:analyzer/src/dart/analysis/driver.dart'; | 37 import 'package:analyzer/src/dart/analysis/driver.dart'; |
22 import 'package:analyzer/src/dart/ast/token.dart'; | 38 import 'package:analyzer/src/dart/ast/token.dart'; |
23 import 'package:analyzer/src/generated/engine.dart' hide AnalysisResult; | 39 import 'package:analyzer/src/generated/engine.dart' hide AnalysisResult; |
24 import 'package:analyzer/src/generated/source.dart'; | 40 import 'package:analyzer/src/generated/source.dart'; |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 | 74 |
59 ReplacementRange range = | 75 ReplacementRange range = |
60 new ReplacementRange.compute(dartRequest.offset, dartRequest.target); | 76 new ReplacementRange.compute(dartRequest.offset, dartRequest.target); |
61 (request as CompletionRequestImpl) | 77 (request as CompletionRequestImpl) |
62 ..replacementOffset = range.offset | 78 ..replacementOffset = range.offset |
63 ..replacementLength = range.length; | 79 ..replacementLength = range.length; |
64 | 80 |
65 // Request Dart specific completions from each contributor | 81 // Request Dart specific completions from each contributor |
66 Map<String, CompletionSuggestion> suggestionMap = | 82 Map<String, CompletionSuggestion> suggestionMap = |
67 <String, CompletionSuggestion>{}; | 83 <String, CompletionSuggestion>{}; |
68 for (DartCompletionContributor contributor | 84 List<DartCompletionContributor> contributors = <DartCompletionContributor>[ |
69 in dartCompletionPlugin.contributors) { | 85 new ArgListContributor(), |
| 86 new CombinatorContributor(), |
| 87 new FieldFormalContributor(), |
| 88 new ImportedReferenceContributor(), |
| 89 new InheritedReferenceContributor(), |
| 90 new KeywordContributor(), |
| 91 new LabelContributor(), |
| 92 new LibraryMemberContributor(), |
| 93 new LibraryPrefixContributor(), |
| 94 new LocalConstructorContributor(), |
| 95 new LocalLibraryContributor(), |
| 96 new LocalReferenceContributor(), |
| 97 new NamedConstructorContributor(), |
| 98 // Revisit this contributor and these tests |
| 99 // once DartChangeBuilder API has solidified. |
| 100 // new OverrideContributor(), |
| 101 new StaticMemberContributor(), |
| 102 new TypeMemberContributor(), |
| 103 new UriContributor(), |
| 104 new VariableNameContributor() |
| 105 ]; |
| 106 for (DartCompletionContributor contributor in contributors) { |
70 String contributorTag = | 107 String contributorTag = |
71 'DartCompletionManager - ${contributor.runtimeType}'; | 108 'DartCompletionManager - ${contributor.runtimeType}'; |
72 performance.logStartTime(contributorTag); | 109 performance.logStartTime(contributorTag); |
73 List<CompletionSuggestion> contributorSuggestions = | 110 List<CompletionSuggestion> contributorSuggestions = |
74 await contributor.computeSuggestions(dartRequest); | 111 await contributor.computeSuggestions(dartRequest); |
75 performance.logElapseTime(contributorTag); | 112 performance.logElapseTime(contributorTag); |
76 request.checkAborted(); | 113 request.checkAborted(); |
77 | 114 |
78 for (CompletionSuggestion newSuggestion in contributorSuggestions) { | 115 for (CompletionSuggestion newSuggestion in contributorSuggestions) { |
79 var oldSuggestion = suggestionMap.putIfAbsent( | 116 var oldSuggestion = suggestionMap.putIfAbsent( |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
290 if (start <= requestOffset && requestOffset <= end) { | 327 if (start <= requestOffset && requestOffset <= end) { |
291 // Replacement range for import URI | 328 // Replacement range for import URI |
292 return new ReplacementRange(start, end - start); | 329 return new ReplacementRange(start, end - start); |
293 } | 330 } |
294 } | 331 } |
295 } | 332 } |
296 } | 333 } |
297 return new ReplacementRange(requestOffset, 0); | 334 return new ReplacementRange(requestOffset, 0); |
298 } | 335 } |
299 } | 336 } |
OLD | NEW |