commit | 5a6ef279fb30f7dcece9ce2583fe91be6900db03 | [log] [tgz] |
---|---|---|
author | Keerti Parthasarathy <keertip@google.com> | Mon Mar 18 19:58:49 2024 +0000 |
committer | Commit Queue <dart-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Mar 18 19:58:49 2024 +0000 |
tree | 1ad5570f7803d2397908d70d1d6ec0acccdbe40c | |
parent | 9e54ab7dd8ebaa44e7e21a0696145fddb7182d80 [diff] |
Completion Issue 53515: Fix for shadowing in extensions. Change-Id: I4b1b0651479ec669018ef5a74b91f0b20c6871e2 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/358141 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Keerti Parthasarathy <keertip@google.com>
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 505c032..8350ad6 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
@@ -145,6 +145,7 @@ void _addTypeMembers(InterfaceType type, CompletionSuggestionKind kind, double inheritanceDistance) { + builder.laterReplacesEarlier = false; for (var method in type.methods) { memberBuilder.addSuggestionForMethod( method: method, kind: kind, inheritanceDistance: inheritanceDistance);
diff --git a/pkg/analysis_server/test/services/completion/dart/location/extension_body_test.dart b/pkg/analysis_server/test/services/completion/dart/location/extension_body_test.dart index f0bc6e95..4159425f 100644 --- a/pkg/analysis_server/test/services/completion/dart/location/extension_body_test.dart +++ b/pkg/analysis_server/test/services/completion/dart/location/extension_body_test.dart
@@ -124,4 +124,24 @@ kind: keyword '''); } + + Future<void> test_inMethod_parameterShadowField() async { + allowedIdentifiers = {'aaa'}; + await computeSuggestions(''' +class A { + String aaa = ''; +} + +extension E on A {foo(int aaa) { a^;} } +'''); + assertResponse(r''' +replacement + left: 1 +suggestions + aaa + kind: parameter + assert + kind: keyword +'''); + } }