File tree 2 files changed +48
-3
lines changed
lib/src/services/completion/dart
test/services/completion/dart/location
2 files changed +48
-3
lines changed Original file line number Diff line number Diff line change @@ -2265,12 +2265,20 @@ class InScopeCompletionPass extends SimpleAstVisitor<void> {
2265
2265
mustBeAssignable: mustBeAssignable,
2266
2266
).addDeclarationsThroughImportPrefix (element);
2267
2267
} else {
2268
- declarationHelper (
2268
+ var helper = declarationHelper (
2269
2269
mustBeAssignable: mustBeAssignable,
2270
2270
preferNonInvocation:
2271
2271
element is InterfaceElement2 &&
2272
2272
state.request.shouldSuggestTearOff (element),
2273
- ).addStaticMembersOfElement (element);
2273
+ );
2274
+ if (node.parent is CommentReference ) {
2275
+ if (element is InterfaceElement2 ) {
2276
+ helper.addInstanceMembersOfType (element.thisType);
2277
+ } else if (element is ExtensionElement2 ) {
2278
+ helper.addMembersFromExtensionElement (element);
2279
+ }
2280
+ }
2281
+ helper.addStaticMembersOfElement (element);
2274
2282
}
2275
2283
}
2276
2284
}
Original file line number Diff line number Diff line change @@ -123,7 +123,6 @@ suggestions
123
123
''' );
124
124
}
125
125
126
- @FailingTest (issue: 'https://github.com/dart-lang/sdk/issues/59724' )
127
126
Future <void > test_field2 () async {
128
127
allowedIdentifiers = const {'myField' };
129
128
await computeSuggestions ('''
@@ -175,6 +174,44 @@ suggestions
175
174
''' );
176
175
}
177
176
177
+ Future <void > test_getter2 () async {
178
+ allowedIdentifiers = const {'myGetter' };
179
+ await computeSuggestions ('''
180
+ /// This is unrelated but should suggest name [MyExtension1.myG^].
181
+ var myVariable = 0;
182
+
183
+ extension MyExtension1 {
184
+ int get myGetter => 0;
185
+ }
186
+ ''' );
187
+ assertResponse (r'''
188
+ replacement
189
+ left: 3
190
+ suggestions
191
+ myGetter
192
+ kind: getter
193
+ ''' );
194
+ }
195
+
196
+ Future <void > test_getter3 () async {
197
+ allowedIdentifiers = const {'myGetter' };
198
+ await computeSuggestions ('''
199
+ /// This is unrelated but should suggest name [MyExtensionType1.myG^].
200
+ var myVariable = 0;
201
+
202
+ extension type MyExtensionType1(int i) {
203
+ int get myGetter => 0;
204
+ }
205
+ ''' );
206
+ assertResponse (r'''
207
+ replacement
208
+ left: 3
209
+ suggestions
210
+ myGetter
211
+ kind: getter
212
+ ''' );
213
+ }
214
+
178
215
Future <void > test_importPrefix () async {
179
216
allowedIdentifiers = const {'async' };
180
217
await computeSuggestions ('''
You can’t perform that action at this time.
0 commit comments