Store 'request' and 'builder' as fields in DartCompletionContributor.
Change-Id: I86d5a19cd264f2287a86c7e0278077affc365925
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/217101
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analysis_server/lib/src/provisional/completion/dart/completion_dart.dart b/pkg/analysis_server/lib/src/provisional/completion/dart/completion_dart.dart
index a1b1989..c2d764a 100644
--- a/pkg/analysis_server/lib/src/provisional/completion/dart/completion_dart.dart
+++ b/pkg/analysis_server/lib/src/provisional/completion/dart/completion_dart.dart
@@ -19,10 +19,14 @@
/// An object that contributes results for the `completion.getSuggestions`
/// request results.
abstract class DartCompletionContributor {
+ final DartCompletionRequest request;
+ final SuggestionBuilder builder;
+
+ DartCompletionContributor(this.request, this.builder);
+
/// Return a [Future] that completes when the suggestions appropriate for the
/// given completion [request] have been added to the [builder].
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder);
+ Future<void> computeSuggestions();
}
/// The information about a requested list of completions within a Dart file.
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/arglist_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/arglist_contributor.dart
index 05f7592..44f88c6 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/arglist_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/arglist_contributor.dart
@@ -14,20 +14,18 @@
/// A contributor that produces suggestions for named expression labels that
/// correspond to named parameters when completing in argument lists.
class ArgListContributor extends DartCompletionContributor {
- /// The request that is currently being handled.
- late DartCompletionRequest request;
-
- /// The suggestion builder used to build suggestions.
- late SuggestionBuilder builder;
-
/// The argument list that is the containing node of the target, or `null` if
/// the containing node of the target is not an argument list (such as when
/// it's a named expression).
ArgumentList? argumentList;
+ ArgListContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
var parameters = request.target.executableElement?.parameters ??
request.target.functionType?.parameters;
if (parameters == null) {
@@ -39,8 +37,6 @@
argumentList = node;
}
- this.request = request;
- this.builder = builder;
_addSuggestions(parameters);
}
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/combinator_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/combinator_contributor.dart
index 12fe155..138c369 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/combinator_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/combinator_contributor.dart
@@ -11,9 +11,13 @@
/// A contributor that produces suggestions based on the members of a library
/// when the completion is in a show or hide combinator of an import or export.
class CombinatorContributor extends DartCompletionContributor {
+ CombinatorContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
var node = request.target.containingNode;
if (node is! Combinator) {
return;
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart b/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart
index cec2be3..f8298ff 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart
@@ -126,30 +126,32 @@
// Request Dart specific completions from each contributor
var builder = SuggestionBuilder(dartRequest, listener: listener);
var contributors = <DartCompletionContributor>[
- ArgListContributor(),
- CombinatorContributor(),
- ExtensionMemberContributor(),
- FieldFormalContributor(),
- KeywordContributor(),
- LabelContributor(),
- LibraryMemberContributor(),
- LibraryPrefixContributor(),
- LocalLibraryContributor(),
- LocalReferenceContributor(),
- NamedConstructorContributor(),
- if (enableOverrideContributor) OverrideContributor(),
- RedirectingContributor(),
- StaticMemberContributor(),
- TypeMemberContributor(),
- if (enableUriContributor) UriContributor(),
- VariableNameContributor()
+ ArgListContributor(dartRequest, builder),
+ CombinatorContributor(dartRequest, builder),
+ ExtensionMemberContributor(dartRequest, builder),
+ FieldFormalContributor(dartRequest, builder),
+ KeywordContributor(dartRequest, builder),
+ LabelContributor(dartRequest, builder),
+ LibraryMemberContributor(dartRequest, builder),
+ LibraryPrefixContributor(dartRequest, builder),
+ LocalLibraryContributor(dartRequest, builder),
+ LocalReferenceContributor(dartRequest, builder),
+ NamedConstructorContributor(dartRequest, builder),
+ if (enableOverrideContributor) OverrideContributor(dartRequest, builder),
+ RedirectingContributor(dartRequest, builder),
+ StaticMemberContributor(dartRequest, builder),
+ TypeMemberContributor(dartRequest, builder),
+ if (enableUriContributor) UriContributor(dartRequest, builder),
+ VariableNameContributor(dartRequest, builder),
];
if (includedElementKinds != null) {
_addIncludedElementKinds(dartRequest);
_addIncludedSuggestionRelevanceTags(dartRequest);
} else {
- contributors.add(ImportedReferenceContributor());
+ contributors.add(
+ ImportedReferenceContributor(dartRequest, builder),
+ );
}
try {
@@ -157,7 +159,7 @@
await performance.runAsync(
'DartCompletionManager - ${contributor.runtimeType}',
(_) async {
- await contributor.computeSuggestions(dartRequest, builder);
+ await contributor.computeSuggestions();
},
);
request.checkAborted();
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/extension_member_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/extension_member_contributor.dart
index 476125a..58e3b83 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/extension_member_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/extension_member_contributor.dart
@@ -16,9 +16,13 @@
class ExtensionMemberContributor extends DartCompletionContributor {
late MemberSuggestionBuilder memberBuilder;
+ ExtensionMemberContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
var containingLibrary = request.libraryElement;
memberBuilder = MemberSuggestionBuilder(request, builder);
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/field_formal_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/field_formal_contributor.dart
index e722f99..d073956 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/field_formal_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/field_formal_contributor.dart
@@ -12,9 +12,13 @@
/// already initialized. More concretely, this class produces suggestions for
/// expressions of the form `this.^` in a constructor's parameter list.
class FieldFormalContributor extends DartCompletionContributor {
+ FieldFormalContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
var node = request.target.containingNode;
// TODO(brianwilkerson) We should suggest field formal parameters even if
// the user hasn't already typed the `this.` prefix, by including the
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/imported_reference_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/imported_reference_contributor.dart
index e2a6c60..c10194f 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/imported_reference_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/imported_reference_contributor.dart
@@ -10,9 +10,13 @@
/// A contributor for calculating suggestions for imported top level members.
class ImportedReferenceContributor extends DartCompletionContributor {
+ ImportedReferenceContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
if (!request.includeIdentifiers) {
return;
}
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/keyword_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/keyword_contributor.dart
index 268064a..a32f625 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/keyword_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/keyword_contributor.dart
@@ -27,9 +27,13 @@
/// A contributor that produces suggestions based on the set of keywords that
/// are valid at the completion point.
class KeywordContributor extends DartCompletionContributor {
+ KeywordContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
// Don't suggest anything right after double or integer literals.
if (request.target.isDoubleOrIntLiteral()) {
return;
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/label_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/label_contributor.dart
index 9434271..c3d8f57 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/label_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/label_contributor.dart
@@ -14,9 +14,13 @@
/// scope. More concretely, this class produces completions in `break` and
/// `continue` statements.
class LabelContributor extends DartCompletionContributor {
+ LabelContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
var optype = (request as DartCompletionRequestImpl).opType;
// Collect suggestions from the specific child [AstNode] that contains
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/library_member_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/library_member_contributor.dart
index 75ae6b50..460324a 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/library_member_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/library_member_contributor.dart
@@ -14,9 +14,13 @@
/// produces suggestions for expressions of the form `p.^`, where `p` is a
/// prefix.
class LibraryMemberContributor extends DartCompletionContributor {
+ LibraryMemberContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
// Determine if the target looks like a library prefix.
var targetId = request.dotTarget;
if (targetId is SimpleIdentifier && !request.target.isCascade) {
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/library_prefix_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/library_prefix_contributor.dart
index 0e0a8a4..5fad45d 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/library_prefix_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/library_prefix_contributor.dart
@@ -8,9 +8,13 @@
/// A contributor that produces suggestions based on the prefixes defined on
/// import directives.
class LibraryPrefixContributor extends DartCompletionContributor {
+ LibraryPrefixContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
if (!request.includeIdentifiers) {
return;
}
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/local_library_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/local_library_contributor.dart
index f14d554..e0b113d 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/local_library_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/local_library_contributor.dart
@@ -151,9 +151,13 @@
/// the library in which the completion is requested but outside the file in
/// which the completion is requested.
class LocalLibraryContributor extends DartCompletionContributor {
+ LocalLibraryContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
if (!request.includeIdentifiers) {
return;
}
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart
index b97e431..39c1dda 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart
@@ -31,9 +31,13 @@
/// been shadowed by local declarations.
_VisibilityTracker visibilityTracker = _VisibilityTracker();
+ LocalReferenceContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
var opType = request.opType;
AstNode? node = request.target.containingNode;
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/named_constructor_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/named_constructor_contributor.dart
index 0632487..c120d04 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/named_constructor_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/named_constructor_contributor.dart
@@ -12,9 +12,13 @@
/// for expressions of the form `C.^` or `C<E>.^`, where `C` is the name of a
/// class.
class NamedConstructorContributor extends DartCompletionContributor {
+ NamedConstructorContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
var node = request.target.containingNode;
if (node is ConstructorName) {
var libraryElement = request.libraryElement;
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/override_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/override_contributor.dart
index 1cccc64..0e62f8e 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/override_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/override_contributor.dart
@@ -10,10 +10,14 @@
/// A completion contributor used to suggest replacing partial identifiers
/// inside a class declaration with templates for inherited members.
-class OverrideContributor implements DartCompletionContributor {
+class OverrideContributor extends DartCompletionContributor {
+ OverrideContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
var targetId = _getTargetId(request.target);
if (targetId == null) {
return;
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/redirecting_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/redirecting_contributor.dart
index 3db1549..4fd743a 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/redirecting_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/redirecting_contributor.dart
@@ -11,9 +11,13 @@
/// expressions of the form `this.^` or `super.^` in a constructor's initializer
/// list or after an `=` in a factory constructor.
class RedirectingContributor extends DartCompletionContributor {
+ RedirectingContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
var entity = request.target.entity;
if (entity is SimpleIdentifier) {
var parent = entity.parent;
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/static_member_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/static_member_contributor.dart
index 15b6c33..1faa088 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/static_member_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/static_member_contributor.dart
@@ -12,9 +12,13 @@
/// suggestions for expressions of the form `C.^`, where `C` is the name of a
/// class, enum, or extension.
class StaticMemberContributor extends DartCompletionContributor {
+ StaticMemberContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
var library = request.libraryElement;
bool isVisible(Element element) => element.isAccessibleIn(library);
var targetId = request.dotTarget;
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/type_member_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/type_member_contributor.dart
index e67d203..f15812e 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/type_member_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/type_member_contributor.dart
@@ -17,9 +17,13 @@
/// expressions of the form `o.^`, where `o` is an expression denoting an
/// instance of a type.
class TypeMemberContributor extends DartCompletionContributor {
+ TypeMemberContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
// Recompute the target because resolution might have changed it.
var expression = request.dotTarget;
if (expression == null ||
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/uri_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/uri_contributor.dart
index 227c538..cbb8337 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/uri_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/uri_contributor.dart
@@ -12,9 +12,13 @@
/// A contributor that produces suggestions based on the content of the file
/// system to complete within URIs in import, export and part directives.
class UriContributor extends DartCompletionContributor {
+ UriContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
var visitor = _UriSuggestionBuilder(request, builder);
request.target.containingNode.accept(visitor);
}
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/variable_name_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/variable_name_contributor.dart
index ba74ab0..97b2249 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/variable_name_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/variable_name_contributor.dart
@@ -11,9 +11,13 @@
/// A contributor that produces suggestions for variable names based on the
/// static type of the variable.
class VariableNameContributor extends DartCompletionContributor {
+ VariableNameContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) : super(request, builder);
+
@override
- Future<void> computeSuggestions(
- DartCompletionRequest request, SuggestionBuilder builder) async {
+ Future<void> computeSuggestions() async {
var opType = request.opType;
// Collect suggestions from the specific child [AstNode] that contains
diff --git a/pkg/analysis_server/test/services/completion/dart/arglist_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/arglist_contributor_test.dart
index 789ff5f..8dfaa60 100644
--- a/pkg/analysis_server/test/services/completion/dart/arglist_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/arglist_contributor_test.dart
@@ -4,6 +4,7 @@
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
import 'package:analysis_server/src/services/completion/dart/arglist_contributor.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:analyzer/src/dart/analysis/experiments.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart';
import 'package:test/test.dart';
@@ -109,8 +110,11 @@
}
@override
- DartCompletionContributor createContributor() {
- return ArgListContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return ArgListContributor(request, builder);
}
}
diff --git a/pkg/analysis_server/test/services/completion/dart/combinator_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/combinator_contributor_test.dart
index ea96470..e41e5a2 100644
--- a/pkg/analysis_server/test/services/completion/dart/combinator_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/combinator_contributor_test.dart
@@ -4,6 +4,7 @@
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
import 'package:analysis_server/src/services/completion/dart/combinator_contributor.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -18,8 +19,11 @@
@reflectiveTest
class CombinatorContributorTest extends DartCompletionContributorTest {
@override
- DartCompletionContributor createContributor() {
- return CombinatorContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return CombinatorContributor(request, builder);
}
Future<void> test_Block_inherited_local() async {
diff --git a/pkg/analysis_server/test/services/completion/dart/completion_contributor_util.dart b/pkg/analysis_server/test/services/completion/dart/completion_contributor_util.dart
index 51ab571..8545220 100644
--- a/pkg/analysis_server/test/services/completion/dart/completion_contributor_util.dart
+++ b/pkg/analysis_server/test/services/completion/dart/completion_contributor_util.dart
@@ -43,24 +43,20 @@
/// suggestions.
abstract class DartCompletionContributorTest
extends _BaseDartCompletionContributorTest {
- late DartCompletionContributor contributor;
-
@nonVirtual
@override
Future<List<CompletionSuggestion>> computeContributedSuggestions(
DartCompletionRequest request) async {
var builder = SuggestionBuilder(request);
- await contributor.computeSuggestions(request, builder);
+ var contributor = createContributor(request, builder);
+ await contributor.computeSuggestions();
return builder.suggestions.toList();
}
- DartCompletionContributor createContributor();
-
- @override
- void setUp() {
- super.setUp();
- contributor = createContributor();
- }
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ );
}
abstract class _BaseDartCompletionContributorTest extends AbstractContextTest {
diff --git a/pkg/analysis_server/test/services/completion/dart/completion_manager_test.dart b/pkg/analysis_server/test/services/completion/dart/completion_manager_test.dart
index 8ebde10..38fb1ef 100644
--- a/pkg/analysis_server/test/services/completion/dart/completion_manager_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/completion_manager_test.dart
@@ -9,6 +9,7 @@
import 'package:analysis_server/src/services/completion/completion_performance.dart';
import 'package:analysis_server/src/services/completion/dart/completion_manager.dart';
import 'package:analysis_server/src/services/completion/dart/imported_reference_contributor.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:analyzer/dart/analysis/results.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/src/dartdoc/dartdoc_directive_info.dart';
@@ -26,8 +27,11 @@
@reflectiveTest
class CompletionManagerTest extends DartCompletionContributorTest {
@override
- DartCompletionContributor createContributor() {
- return ImportedReferenceContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return ImportedReferenceContributor(request, builder);
}
Future<void> test_resolveDirectives() async {
diff --git a/pkg/analysis_server/test/services/completion/dart/extension_member_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/extension_member_contributor_test.dart
index 5def996..4e72a0e 100644
--- a/pkg/analysis_server/test/services/completion/dart/extension_member_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/extension_member_contributor_test.dart
@@ -4,6 +4,7 @@
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
import 'package:analysis_server/src/services/completion/dart/extension_member_contributor.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import 'completion_contributor_util.dart';
@@ -17,8 +18,11 @@
@reflectiveTest
class ExtensionMemberContributorTest extends DartCompletionContributorTest {
@override
- DartCompletionContributor createContributor() {
- return ExtensionMemberContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return ExtensionMemberContributor(request, builder);
}
Future<void> test_extended_members_inExtension_field() async {
diff --git a/pkg/analysis_server/test/services/completion/dart/field_formal_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/field_formal_contributor_test.dart
index d28095f..f38df45 100644
--- a/pkg/analysis_server/test/services/completion/dart/field_formal_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/field_formal_contributor_test.dart
@@ -4,6 +4,7 @@
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
import 'package:analysis_server/src/services/completion/dart/field_formal_contributor.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -18,8 +19,11 @@
@reflectiveTest
class FieldFormalContributorTest extends DartCompletionContributorTest {
@override
- DartCompletionContributor createContributor() {
- return FieldFormalContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return FieldFormalContributor(request, builder);
}
/// https://github.com/dart-lang/sdk/issues/39028
diff --git a/pkg/analysis_server/test/services/completion/dart/imported_reference_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/imported_reference_contributor_test.dart
index 05f16bd..b1cfe12 100644
--- a/pkg/analysis_server/test/services/completion/dart/imported_reference_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/imported_reference_contributor_test.dart
@@ -5,6 +5,7 @@
import 'package:analysis_server/src/protocol_server.dart';
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
import 'package:analysis_server/src/services/completion/dart/imported_reference_contributor.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:analyzer/src/dart/analysis/experiments.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -22,8 +23,11 @@
bool get isNullExpectedReturnTypeConsideredDynamic => false;
@override
- DartCompletionContributor createContributor() {
- return ImportedReferenceContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return ImportedReferenceContributor(request, builder);
}
}
diff --git a/pkg/analysis_server/test/services/completion/dart/keyword_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/keyword_contributor_test.dart
index 1673cfd..1d96cae 100644
--- a/pkg/analysis_server/test/services/completion/dart/keyword_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/keyword_contributor_test.dart
@@ -4,6 +4,7 @@
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
import 'package:analysis_server/src/services/completion/dart/keyword_contributor.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:analyzer/dart/analysis/features.dart';
import 'package:analyzer/dart/ast/token.dart';
import 'package:analyzer/src/dart/analysis/experiments.dart';
@@ -443,8 +444,11 @@
}
@override
- DartCompletionContributor createContributor() {
- return KeywordContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return KeywordContributor(request, builder);
}
/// Return `true` if the given [feature] is enabled.
diff --git a/pkg/analysis_server/test/services/completion/dart/label_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/label_contributor_test.dart
index 9204f6d..ad09ba3 100644
--- a/pkg/analysis_server/test/services/completion/dart/label_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/label_contributor_test.dart
@@ -5,6 +5,7 @@
import 'package:analysis_server/src/protocol_server.dart';
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
import 'package:analysis_server/src/services/completion/dart/label_contributor.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -33,8 +34,11 @@
}
@override
- DartCompletionContributor createContributor() {
- return LabelContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return LabelContributor(request, builder);
}
Future<void> test_break_ignores_outer_functions_using_closure() async {
diff --git a/pkg/analysis_server/test/services/completion/dart/library_member_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/library_member_contributor_test.dart
index 023cef5..d4a3f76 100644
--- a/pkg/analysis_server/test/services/completion/dart/library_member_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/library_member_contributor_test.dart
@@ -4,6 +4,7 @@
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
import 'package:analysis_server/src/services/completion/dart/library_member_contributor.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -18,8 +19,11 @@
@reflectiveTest
class LibraryMemberContributorTest extends DartCompletionContributorTest {
@override
- DartCompletionContributor createContributor() {
- return LibraryMemberContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return LibraryMemberContributor(request, builder);
}
Future<void> test_extension() async {
diff --git a/pkg/analysis_server/test/services/completion/dart/library_prefix_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/library_prefix_contributor_test.dart
index ae303ec..96ecfce 100644
--- a/pkg/analysis_server/test/services/completion/dart/library_prefix_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/library_prefix_contributor_test.dart
@@ -5,6 +5,7 @@
import 'package:analysis_server/src/protocol_server.dart';
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
import 'package:analysis_server/src/services/completion/dart/library_prefix_contributor.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -34,8 +35,11 @@
}
@override
- DartCompletionContributor createContributor() {
- return LibraryPrefixContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return LibraryPrefixContributor(request, builder);
}
Future<void> test_Block() async {
diff --git a/pkg/analysis_server/test/services/completion/dart/local_library_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/local_library_contributor_test.dart
index 6417557..d5cfe06 100644
--- a/pkg/analysis_server/test/services/completion/dart/local_library_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/local_library_contributor_test.dart
@@ -4,6 +4,7 @@
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
import 'package:analysis_server/src/services/completion/dart/local_library_contributor.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -18,8 +19,11 @@
@reflectiveTest
class LocalLibraryContributorTest extends DartCompletionContributorTest {
@override
- DartCompletionContributor createContributor() {
- return LocalLibraryContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return LocalLibraryContributor(request, builder);
}
Future<void> test_partFile_Constructor() async {
diff --git a/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart
index 243cdb5..25888ec 100644
--- a/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart
@@ -5,6 +5,7 @@
import 'package:analysis_server/src/protocol_server.dart';
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
import 'package:analysis_server/src/services/completion/dart/local_reference_contributor.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -22,8 +23,11 @@
bool get isNullExpectedReturnTypeConsideredDynamic => false;
@override
- DartCompletionContributor createContributor() {
- return LocalReferenceContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return LocalReferenceContributor(request, builder);
}
Future<void> test_ArgDefaults_function() async {
diff --git a/pkg/analysis_server/test/services/completion/dart/named_constructor_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/named_constructor_contributor_test.dart
index 0e35485..2c3ed18 100644
--- a/pkg/analysis_server/test/services/completion/dart/named_constructor_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/named_constructor_contributor_test.dart
@@ -4,6 +4,7 @@
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
import 'package:analysis_server/src/services/completion/dart/named_constructor_contributor.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -39,8 +40,11 @@
}
@override
- DartCompletionContributor createContributor() {
- return NamedConstructorContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return NamedConstructorContributor(request, builder);
}
Future<void> test_ConstructorName_importedClass() async {
diff --git a/pkg/analysis_server/test/services/completion/dart/override_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/override_contributor_test.dart
index 7b27e88..3178bc4 100644
--- a/pkg/analysis_server/test/services/completion/dart/override_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/override_contributor_test.dart
@@ -4,6 +4,7 @@
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
import 'package:analysis_server/src/services/completion/dart/override_contributor.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -17,8 +18,11 @@
@reflectiveTest
class OverrideContributorTest extends DartCompletionContributorTest {
@override
- DartCompletionContributor createContributor() {
- return OverrideContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return OverrideContributor(request, builder);
}
Future<void> test_alreadyOverridden() async {
diff --git a/pkg/analysis_server/test/services/completion/dart/static_member_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/static_member_contributor_test.dart
index 0cecf86..1c6e558 100644
--- a/pkg/analysis_server/test/services/completion/dart/static_member_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/static_member_contributor_test.dart
@@ -4,6 +4,7 @@
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
import 'package:analysis_server/src/services/completion/dart/static_member_contributor.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -18,8 +19,11 @@
@reflectiveTest
class StaticMemberContributorTest extends DartCompletionContributorTest {
@override
- DartCompletionContributor createContributor() {
- return StaticMemberContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return StaticMemberContributor(request, builder);
}
Future<void> test_class_static_notPrivate() async {
diff --git a/pkg/analysis_server/test/services/completion/dart/type_member_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/type_member_contributor_test.dart
index c9d8574..8633ece 100644
--- a/pkg/analysis_server/test/services/completion/dart/type_member_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/type_member_contributor_test.dart
@@ -3,6 +3,7 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:analysis_server/src/services/completion/dart/type_member_contributor.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart';
import 'package:test/test.dart';
@@ -48,8 +49,11 @@
}
@override
- DartCompletionContributor createContributor() {
- return TypeMemberContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return TypeMemberContributor(request, builder);
}
Future<void> test_ArgDefaults_method() async {
diff --git a/pkg/analysis_server/test/services/completion/dart/uri_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/uri_contributor_test.dart
index 0620fbf..f2e442c 100644
--- a/pkg/analysis_server/test/services/completion/dart/uri_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/uri_contributor_test.dart
@@ -3,6 +3,7 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:analysis_server/src/services/completion/dart/uri_contributor.dart';
import 'package:analyzer/file_system/memory_file_system.dart';
import 'package:analyzer/src/test_utilities/package_config_file_builder.dart';
@@ -25,8 +26,11 @@
String get testPackageTestPath => '$testPackageRootPath/test';
@override
- DartCompletionContributor createContributor() {
- return UriContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return UriContributor(request, builder);
}
Future<void> test_after_import() async {
@@ -550,8 +554,11 @@
@reflectiveTest
class UriContributorWindowsTest extends DartCompletionContributorTest {
@override
- DartCompletionContributor createContributor() {
- return UriContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return UriContributor(request, builder);
}
@override
diff --git a/pkg/analysis_server/test/services/completion/dart/variable_name_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/variable_name_contributor_test.dart
index 3b75a53..97bac2b 100644
--- a/pkg/analysis_server/test/services/completion/dart/variable_name_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/variable_name_contributor_test.dart
@@ -3,6 +3,7 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
+import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:analysis_server/src/services/completion/dart/variable_name_contributor.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -18,8 +19,11 @@
@reflectiveTest
class VariableNameContributorTest extends DartCompletionContributorTest {
@override
- DartCompletionContributor createContributor() {
- return VariableNameContributor();
+ DartCompletionContributor createContributor(
+ DartCompletionRequest request,
+ SuggestionBuilder builder,
+ ) {
+ return VariableNameContributor(request, builder);
}
Future<void> test_ExpressionStatement_dont_suggest_type() async {