mirror of
https://github.com/dart-lang/sdk
synced 2024-10-14 13:18:09 +00:00
Completion. Issue 55186. Suggest field formal parameter names even when starts with keyword.
Bug: https://github.com/dart-lang/sdk/issues/55186 Change-Id: I6f17e6fad9fe135737d75fb08200dae190c95ea1 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/357943 Commit-Queue: Konstantin Shcheglov <scheglov@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
This commit is contained in:
parent
e0d6fd040e
commit
28210d7793
|
@ -3491,6 +3491,12 @@ extension on FormalParameter {
|
|||
if (name == null || name.isKeyword) {
|
||||
return true;
|
||||
}
|
||||
if (name.isSynthetic) {
|
||||
final next = name.next;
|
||||
if (next != null && next.isKeyword) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
var self = this;
|
||||
if (self is DefaultFormalParameter && self.separator != null) {
|
||||
var defaultValue = self.defaultValue;
|
||||
|
|
|
@ -15,9 +15,9 @@ void main() {
|
|||
|
||||
@reflectiveTest
|
||||
class FieldFormalParameterTest extends AbstractCompletionDriverTest
|
||||
with SuperFormalParameterTestCases {}
|
||||
with FieldFormalParameterTestCases {}
|
||||
|
||||
mixin SuperFormalParameterTestCases on AbstractCompletionDriverTest {
|
||||
mixin FieldFormalParameterTestCases on AbstractCompletionDriverTest {
|
||||
@override
|
||||
Future<void> setUp() async {
|
||||
await super.setUp();
|
||||
|
@ -159,6 +159,44 @@ suggestions
|
|||
''');
|
||||
}
|
||||
|
||||
Future<void> test_requiredNamed_keywordName_in() async {
|
||||
allowedIdentifiers = {'in01', 'out01'};
|
||||
await computeSuggestions('''
|
||||
class A {
|
||||
final int in01;
|
||||
final int out01;
|
||||
A({required this.in^});
|
||||
}
|
||||
''');
|
||||
assertResponse(r'''
|
||||
replacement
|
||||
left: 2
|
||||
suggestions
|
||||
in01
|
||||
kind: field
|
||||
returnType: int
|
||||
''');
|
||||
}
|
||||
|
||||
Future<void> test_requiredPositional_keywordName_in() async {
|
||||
allowedIdentifiers = {'in01', 'out01'};
|
||||
await computeSuggestions('''
|
||||
class A {
|
||||
final int in01;
|
||||
final int out01;
|
||||
A(this.in^);
|
||||
}
|
||||
''');
|
||||
assertResponse(r'''
|
||||
replacement
|
||||
left: 2
|
||||
suggestions
|
||||
in01
|
||||
kind: field
|
||||
returnType: int
|
||||
''');
|
||||
}
|
||||
|
||||
Future<void> _checkContainers({
|
||||
required String declarations,
|
||||
required String constructorParameters,
|
||||
|
|
Loading…
Reference in a new issue