[Completion] Fix adding duplicate const keyword suggestions for variables.
Change-Id: I31d354c32720d46f9b6041d04c6f62de26031551
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/434121
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/in_scope_completion_pass.dart b/pkg/analysis_server/lib/src/services/completion/dart/in_scope_completion_pass.dart
index 58b2691..90d1418 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
@@ -2640,7 +2640,7 @@
suggestRequired: noRequired,
suggestVariableName: name.coversOffset(offset),
suggestCovariant: suggestCovariant,
- suggestThis : suggestThis,
+ suggestThis: suggestThis,
);
}
_forTypeAnnotation(node);
@@ -3065,6 +3065,7 @@
}
if (offset <= node.name.end) {
+ var constAdded = false;
var container = grandparent?.parent;
var keyword = parent.keyword;
var type = parent.type;
@@ -3074,6 +3075,7 @@
keywordHelper.addKeyword(Keyword.CONST);
keywordHelper.addKeyword(Keyword.FINAL);
keywordHelper.addKeyword(Keyword.VAR);
+ constAdded = true;
}
if (keyword == null || keyword.keyword != Keyword.VAR) {
_forTypeAnnotation(node);
@@ -3110,7 +3112,9 @@
// The parser often recovers from incomplete code by assuming that
// the user is typing a field declaration, but it's quite possible
// that the user is trying to type a different kind of declaration.
- keywordHelper.addKeyword(Keyword.CONST);
+ if (!constAdded) {
+ keywordHelper.addKeyword(Keyword.CONST);
+ }
if (container is ClassDeclaration) {
keywordHelper.addKeyword(Keyword.FACTORY);
}