@@ -1555,15 +1555,15 @@ namespace ts {
1555
1555
return false ;
1556
1556
}
1557
1557
1558
- function parseExpectedMatchingBrackets ( openKind : SyntaxKind , closeKind : SyntaxKind , openParsed : boolean , openPosition : number ) {
1559
- if ( ! openParsed ) {
1560
- return parseExpected ( closeKind ) ;
1561
- }
1558
+ function parseExpectedMatchingBrackets ( openKind : SyntaxKind , closeKind : SyntaxKind , openParsed : boolean , openPosition : number ) {
1562
1559
if ( token ( ) === closeKind ) {
1563
1560
nextToken ( ) ;
1564
1561
return ;
1565
1562
}
1566
1563
const lastError = parseErrorAtCurrentToken ( Diagnostics . _0_expected , tokenToString ( closeKind ) ) ;
1564
+ if ( ! openParsed ) {
1565
+ return ;
1566
+ }
1567
1567
if ( lastError ) {
1568
1568
addRelatedInfo (
1569
1569
lastError ,
@@ -5657,7 +5657,7 @@ namespace ts {
5657
5657
const pos = getNodePos ( ) ;
5658
5658
const hasJSDoc = hasPrecedingJSDocComment ( ) ;
5659
5659
const openBracePosition = scanner . getTokenPos ( ) ;
5660
- const openBraceParsed = parseExpected ( SyntaxKind . OpenBraceToken , diagnosticMessage )
5660
+ const openBraceParsed = parseExpected ( SyntaxKind . OpenBraceToken , diagnosticMessage ) ;
5661
5661
if ( openBraceParsed || ignoreMissingOpenBrace ) {
5662
5662
const multiLine = scanner . hasPrecedingLineBreak ( ) ;
5663
5663
const statements = parseList ( ParsingContext . BlockStatements , parseStatement ) ;
@@ -5720,7 +5720,7 @@ namespace ts {
5720
5720
const openParenPosition = scanner . getTokenPos ( ) ;
5721
5721
const openParenParsed = parseExpected ( SyntaxKind . OpenParenToken ) ;
5722
5722
const expression = allowInAnd ( parseExpression ) ;
5723
- parseExpectedMatchingBrackets ( SyntaxKind . OpenParenToken , SyntaxKind . CloseParenToken , openParenParsed , openParenPosition )
5723
+ parseExpectedMatchingBrackets ( SyntaxKind . OpenParenToken , SyntaxKind . CloseParenToken , openParenParsed , openParenPosition ) ;
5724
5724
const thenStatement = parseStatement ( ) ;
5725
5725
const elseStatement = parseOptional ( SyntaxKind . ElseKeyword ) ? parseStatement ( ) : undefined ;
5726
5726
return withJSDoc ( finishNode ( factory . createIfStatement ( expression , thenStatement , elseStatement ) , pos ) , hasJSDoc ) ;
@@ -5735,7 +5735,7 @@ namespace ts {
5735
5735
const openParenPosition = scanner . getTokenPos ( ) ;
5736
5736
const openParenParsed = parseExpected ( SyntaxKind . OpenParenToken ) ;
5737
5737
const expression = allowInAnd ( parseExpression ) ;
5738
- parseExpectedMatchingBrackets ( SyntaxKind . OpenParenToken , SyntaxKind . CloseParenToken , openParenParsed , openParenPosition )
5738
+ parseExpectedMatchingBrackets ( SyntaxKind . OpenParenToken , SyntaxKind . CloseParenToken , openParenParsed , openParenPosition ) ;
5739
5739
5740
5740
// From: https://mail.mozilla.org/pipermail/es-discuss/2011-August/016188.html
5741
5741
// 157 min --- All allen at wirfs-brock.com CONF --- "do{;}while(false)false" prohibited in
0 commit comments