Skip to content

Commit efc831e

Browse files
author
Andy
authored
At '.' in array literal, don't close the array (#28120)
1 parent 539b9a6 commit efc831e

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

src/compiler/parser.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1518,8 +1518,10 @@ namespace ts {
15181518
case ParsingContext.TypeParameters:
15191519
return isIdentifier();
15201520
case ParsingContext.ArrayLiteralMembers:
1521-
if (token() === SyntaxKind.CommaToken) {
1522-
return true;
1521+
switch (token()) {
1522+
case SyntaxKind.CommaToken:
1523+
case SyntaxKind.DotToken: // Not an array literal member, but don't want to close the array (see `tests/cases/fourslash/completionsDotInArrayLiteralInObjectLiteral.ts`)
1524+
return true;
15231525
}
15241526
// falls through
15251527
case ParsingContext.ArgumentExpressions:
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/// <reference path="fourslash.ts" />
2+
3+
////const o = { x: [[|.|][||]/**/
4+
5+
const [r0, r1] = test.ranges();
6+
verify.getSyntacticDiagnostics([
7+
{ code: 1109, message: "Expression expected.", range: r0 },
8+
{ code: 1003, message: "Identifier expected.", range: r1 },
9+
]);
10+
11+
verify.completions({ marker: "", exact: undefined });

0 commit comments

Comments
 (0)