Completion: Issue 55014: Add named constructors to suggestions for enum values.
Fixes https://github.com/dart-lang/sdk/issues/55014
Change-Id: I6635c76fd84d0fe364febf6264cd38f0c17c2f19
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/356120
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/declaration_helper.dart b/pkg/analysis_server/lib/src/services/completion/dart/declaration_helper.dart
index f4de511..e72802c 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/declaration_helper.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/declaration_helper.dart
@@ -383,7 +383,7 @@
var augmented = element.augmented;
_addStaticMembers(
accessors: augmented?.accessors ?? element.accessors,
- constructors: const [],
+ constructors: augmented?.constructors ?? element.constructors,
containingElement: element,
fields: augmented?.fields ?? element.fields,
methods: augmented?.methods ?? element.methods);
diff --git a/pkg/analysis_server/test/services/completion/dart/declaration/enum_test.dart b/pkg/analysis_server/test/services/completion/dart/declaration/enum_test.dart
index c7e7594..8417c7b 100644
--- a/pkg/analysis_server/test/services/completion/dart/declaration/enum_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/declaration/enum_test.dart
@@ -184,6 +184,29 @@
''');
}
+ Future<void> test_afterPeriod_namedConstructor() async {
+ allowedIdentifiers = {'named'};
+ await computeSuggestions('''
+enum E0 {
+ o0, t0;
+
+ factory E0.named() => E0.o0;
+}
+void f() {
+ E0.^
+}
+''');
+ assertResponse(r'''
+suggestions
+ named
+ kind: constructorInvocation
+ o0
+ kind: enumConstant
+ t0
+ kind: enumConstant
+''');
+ }
+
Future<void> test_afterPeriod_partial() async {
await computeSuggestions('''
enum E0 {