@@ -2640,7 +2640,7 @@ class InScopeCompletionPass extends SimpleAstVisitor<void> {
26402640 suggestRequired: noRequired,
26412641 suggestVariableName: name.coversOffset (offset),
26422642 suggestCovariant: suggestCovariant,
2643- suggestThis : suggestThis,
2643+ suggestThis: suggestThis,
26442644 );
26452645 }
26462646 _forTypeAnnotation (node);
@@ -3065,6 +3065,7 @@ class InScopeCompletionPass extends SimpleAstVisitor<void> {
30653065 }
30663066
30673067 if (offset <= node.name.end) {
3068+ var constAdded = false ;
30683069 var container = grandparent? .parent;
30693070 var keyword = parent.keyword;
30703071 var type = parent.type;
@@ -3074,6 +3075,7 @@ class InScopeCompletionPass extends SimpleAstVisitor<void> {
30743075 keywordHelper.addKeyword (Keyword .CONST );
30753076 keywordHelper.addKeyword (Keyword .FINAL );
30763077 keywordHelper.addKeyword (Keyword .VAR );
3078+ constAdded = true ;
30773079 }
30783080 if (keyword == null || keyword.keyword != Keyword .VAR ) {
30793081 _forTypeAnnotation (node);
@@ -3110,7 +3112,9 @@ class InScopeCompletionPass extends SimpleAstVisitor<void> {
31103112 // The parser often recovers from incomplete code by assuming that
31113113 // the user is typing a field declaration, but it's quite possible
31123114 // that the user is trying to type a different kind of declaration.
3113- keywordHelper.addKeyword (Keyword .CONST );
3115+ if (! constAdded) {
3116+ keywordHelper.addKeyword (Keyword .CONST );
3117+ }
31143118 if (container is ClassDeclaration ) {
31153119 keywordHelper.addKeyword (Keyword .FACTORY );
31163120 }
0 commit comments