Skip to content

Commit

Permalink
Revert "Stop using available suggestions for already imported libraries"
Browse files Browse the repository at this point in the history
This reverts commit 3cc518b.
Initial CL: https://dart-review.googlesource.com/c/sdk/+/201021

Bug: flutter/flutter-intellij#5761
Change-Id: I62e57deef819f78f1d08934ad924585eaa52223b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/214225
Reviewed-by: Brian Wilkerson <[email protected]>
Reviewed-by: Jacob Richman <[email protected]>
Commit-Queue: Konstantin Shcheglov <[email protected]>
  • Loading branch information
scheglov authored and [email protected] committed Sep 23, 2021
1 parent 57e71e3 commit 6207d1d
Show file tree
Hide file tree
Showing 6 changed files with 7 additions and 32 deletions.
1 change: 0 additions & 1 deletion pkg/analysis_server/lib/src/cider/completion.dart
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,6 @@ class CiderCompletionComputer {
return await manager.computeSuggestions(
performance,
completionRequest,
enableImportedReferenceContributor: false,
enableOverrideContributor: false,
enableUriContributor: false,
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,8 @@ void computeIncludedSetList(
) {
int relevance;
if (importedUriSet.contains(library.uri)) {
return;
}
if (library.isDeprecated) {
relevance = importedRelevance;
} else if (library.isDeprecated) {
relevance = deprecatedRelevance;
} else {
relevance = otherwiseRelevance;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@ class DartCompletionManager {
Future<List<CompletionSuggestion>> computeSuggestions(
OperationPerformanceImpl performance,
CompletionRequest request, {
bool enableImportedReferenceContributor = true,
bool enableOverrideContributor = true,
bool enableUriContributor = true,
CompletionPreference? completionPreference,
Expand Down Expand Up @@ -131,7 +130,6 @@ class DartCompletionManager {
CombinatorContributor(),
ExtensionMemberContributor(),
FieldFormalContributor(),
if (enableImportedReferenceContributor) ImportedReferenceContributor(),
KeywordContributor(),
LabelContributor(),
LibraryMemberContributor(),
Expand All @@ -150,6 +148,8 @@ class DartCompletionManager {
if (includedElementKinds != null) {
_addIncludedElementKinds(dartRequest);
_addIncludedSuggestionRelevanceTags(dartRequest);
} else {
contributors.add(ImportedReferenceContributor());
}

try {
Expand Down
21 changes: 2 additions & 19 deletions pkg/analysis_server/test/client/completion_driver_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -71,15 +71,13 @@ abstract class AbstractCompletionDriverTest with ResourceProviderMixin {
}

void assertSuggestion({
bool allowMultiple = false,
required String completion,
ElementKind? element,
CompletionSuggestionKind? kind,
String? file,
}) {
expect(
suggestionWith(
allowMultiple: allowMultiple,
completion: completion,
element: element,
kind: kind,
Expand Down Expand Up @@ -184,17 +182,14 @@ project:${toUri('$projectPath/lib')}
completion: completion, element: element, kind: kind, file: file));

CompletionSuggestion suggestionWith({
bool allowMultiple = false,
required String completion,
ElementKind? element,
CompletionSuggestionKind? kind,
String? file,
}) {
final matches = suggestionsWith(
completion: completion, element: element, kind: kind, file: file);
if (!allowMultiple) {
expect(matches, hasLength(1));
}
expect(matches, hasLength(1));
return matches.first;
}

Expand Down Expand Up @@ -269,10 +264,7 @@ void f() {
}
''');

// TODO(brianwilkerson) There should be a single suggestion here after we
// figure out how to stop the duplication.
assertSuggestion(
allowMultiple: true,
completion: 'A',
element: ElementKind.CONSTRUCTOR,
kind: CompletionSuggestionKind.INVOCATION);
Expand All @@ -296,11 +288,7 @@ void f() {
^
}
''');

// TODO(brianwilkerson) There should be a single suggestion here after we
// figure out how to stop the duplication.
assertSuggestion(
allowMultiple: true,
completion: 'E.e',
element: ElementKind.ENUM_CONSTANT,
kind: CompletionSuggestionKind.INVOCATION);
Expand All @@ -325,10 +313,7 @@ void f() {
}
''');

// TODO(brianwilkerson) There should be a single suggestion here after we
// figure out how to stop the duplication.
assertSuggestion(
allowMultiple: true,
completion: 'A.a',
element: ElementKind.CONSTRUCTOR,
kind: CompletionSuggestionKind.INVOCATION);
Expand Down Expand Up @@ -661,15 +646,13 @@ void f() {
}
''');

// TODO(brianwilkerson) There should be a single suggestion here after we
// figure out how to stop the duplication.
expect(
suggestionsWith(
completion: 'Future.value',
file: '/sdk/lib/async/async.dart',
element: ElementKind.CONSTRUCTOR,
kind: CompletionSuggestionKind.INVOCATION),
hasLength(2));
hasLength(1));
}

Future<void> test_sdk_lib_suggestions() async {
Expand Down
2 changes: 1 addition & 1 deletion pkg/analysis_server/test/lsp/completion_dart_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1560,7 +1560,7 @@ void f() {
expect(completions, hasLength(1));
final resolved = await resolveCompletion(completions.first);
// It should not include auto-import text since it's already imported.
expect(resolved.detail, isNot(contains('Auto import from')));
expect(resolved.detail, isNull);
}

Future<void> test_suggestionSets_filtersOutAlreadyImportedSymbols() async {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,7 @@ void main() {

@reflectiveTest
class BoolAssignmentTest extends CompletionRelevanceTest {
@failingTest
Future<void> test_boolLiterals_imported() async {
// TODO(brianwilkerson) This test is arguably invalid given that there's no
// data to suggest that the boolean keywords should appear before a
// constructor in the list, but it does seem likely to be valid in this
// case, so we should investigate features that might cause this test to
// start passing again.
await addTestFile('''
foo() {
bool b;
Expand Down

0 comments on commit 6207d1d

Please sign in to comment.