Stop suggesting final in parameter lists
This stops completion from suggesting `final` outisde a primary
constructor's parameter list when the feature is enabled. When the
feature is not enabled, it won't be suggested anywhere. I did that
because in the same release this CL is for we'll produce a warning if
`final` is used, and it seems unhelpful to suggest adding code that will
have a diagnostic associated with it.
Change-Id: I2f8ad2d92ea0641e2212c89d01aa23921b39b3e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/468401
Reviewed-by: Samuel Rawlins <[email protected]>
Commit-Queue: Brian Wilkerson <[email protected]>
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/in_scope_completion_pass.dart b/pkg/analysis_server/lib/src/services/completion/dart/in_scope_completion_pass.dart
index bea1314..07e2645 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/in_scope_completion_pass.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/in_scope_completion_pass.dart
@@ -2556,7 +2556,7 @@
keywordHelper.addFormalParameterKeywords(
formalParameters,
suggestCovariant: false,
- suggestFinal: false,
+ suggestFinalOrVar: false,
suggestRequired: true,
suggestVariableName: true,
);
@@ -2831,7 +2831,6 @@
bool suggestThis = true;
bool suggestVoid = true;
bool suggestDynamic = true;
- bool suggestFinal = true;
bool suggestRequired = true;
if (name != null && node.isSingleIdentifier) {
collector.completionLocation = 'FormalParameterList_parameter';
@@ -2843,7 +2842,6 @@
);
suggestCovariant = false;
suggestThis = false;
- suggestFinal = false;
suggestRequired = false;
_forTypeAnnotation(
node,
@@ -2899,7 +2897,6 @@
suggestVariableName: name.coversOffset(offset),
suggestCovariant: suggestCovariant,
suggestThis: suggestThis,
- suggestFinal: suggestFinal,
);
}
_forTypeAnnotation(
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/keyword_helper.dart b/pkg/analysis_server/lib/src/services/completion/dart/keyword_helper.dart
index 0805367..c2dfdf2 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/keyword_helper.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/keyword_helper.dart
@@ -440,15 +440,12 @@
required bool suggestRequired,
required bool suggestVariableName,
bool suggestCovariant = true,
+ bool suggestFinalOrVar = true,
bool suggestThis = true,
- bool suggestFinal = true,
}) {
if (suggestCovariant) {
addKeyword(Keyword.COVARIANT);
}
- if (suggestFinal) {
- addKeyword(Keyword.FINAL);
- }
if (suggestRequired && parameterList.inNamedGroup(offset)) {
addKeyword(Keyword.REQUIRED);
}
@@ -464,14 +461,12 @@
addKeyword(Keyword.THIS);
}
} else if (parent is PrimaryConstructorDeclaration) {
- if (suggestCovariant || suggestFinal) {
+ if (suggestFinalOrVar) {
if (featureSet.isEnabled(Feature.super_parameters)) {
addKeyword(Keyword.SUPER);
}
+ addKeyword(Keyword.FINAL);
addKeyword(Keyword.THIS);
- }
- if (suggestFinal) {
- // The flag should probably be renamed to `suggestFinalAndVar`
addKeyword(Keyword.VAR);
}
}
diff --git a/pkg/analysis_server/test/services/completion/dart/completion_test.dart b/pkg/analysis_server/test/services/completion/dart/completion_test.dart
index 4c58d55..70c6e74 100644
--- a/pkg/analysis_server/test/services/completion/dart/completion_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/completion_test.dart
@@ -4327,8 +4327,6 @@
kind: keyword
dynamic
kind: keyword
- final
- kind: keyword
''');
}
@@ -4347,8 +4345,6 @@
kind: keyword
dynamic
kind: keyword
- final
- kind: keyword
''');
}
@@ -4825,8 +4821,6 @@
kind: keyword
dynamic
kind: keyword
- final
- kind: keyword
''');
}
@@ -4845,8 +4839,6 @@
kind: keyword
dynamic
kind: keyword
- final
- kind: keyword
''');
}
diff --git a/pkg/analysis_server/test/services/completion/dart/location/parameter_list_test.dart b/pkg/analysis_server/test/services/completion/dart/location/parameter_list_test.dart
index 225d920..5193ad1 100644
--- a/pkg/analysis_server/test/services/completion/dart/location/parameter_list_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/location/parameter_list_test.dart
@@ -33,8 +33,6 @@
kind: keyword
dynamic
kind: keyword
- final
- kind: keyword
super
kind: keyword
''');
@@ -54,8 +52,6 @@
kind: keyword
dynamic
kind: keyword
- final
- kind: keyword
super
kind: keyword
''');
@@ -78,8 +74,6 @@
kind: keyword
dynamic
kind: keyword
- final
- kind: keyword
''');
}
@@ -117,8 +111,6 @@
kind: keyword
dynamic
kind: keyword
- final
- kind: keyword
''');
}
@@ -143,8 +135,6 @@
kind: keyword
dynamic
kind: keyword
- final
- kind: keyword
super
kind: keyword
''');
@@ -206,8 +196,6 @@
kind: keyword
dynamic
kind: keyword
- final
- kind: keyword
super
kind: keyword
''');
@@ -233,8 +221,6 @@
kind: keyword
dynamic
kind: keyword
- final
- kind: keyword
''');
}
@@ -248,8 +234,6 @@
kind: keyword
dynamic
kind: keyword
- final
- kind: keyword
required
kind: keyword
''');
@@ -267,8 +251,6 @@
kind: keyword
dynamic
kind: keyword
- final
- kind: keyword
''');
}
}
@@ -350,8 +332,6 @@
kind: keyword
dynamic
kind: keyword
- final
- kind: keyword
''');
}
@@ -367,8 +347,6 @@
kind: keyword
dynamic
kind: keyword
- final
- kind: keyword
''');
}