(ignoreMissingOpenBrace bool, diagnosticMessage *diagnostics.Message)
| 1207 | } |
| 1208 | |
| 1209 | func (p *Parser) parseBlock(ignoreMissingOpenBrace bool, diagnosticMessage *diagnostics.Message) *ast.Node { |
| 1210 | pos := p.nodePos() |
| 1211 | jsdoc := p.jsdocScannerInfo() |
| 1212 | openBracePosition := p.scanner.TokenStart() |
| 1213 | openBraceParsed := p.parseExpectedWithDiagnostic(ast.KindOpenBraceToken, diagnosticMessage, true /*shouldAdvance*/) |
| 1214 | multiline := false |
| 1215 | if openBraceParsed || ignoreMissingOpenBrace { |
| 1216 | multiline = p.hasPrecedingLineBreak() |
| 1217 | statements := p.parseList(PCBlockStatements, (*Parser).parseStatement) |
| 1218 | p.parseExpectedMatchingBrackets(ast.KindOpenBraceToken, ast.KindCloseBraceToken, openBraceParsed, openBracePosition) |
| 1219 | result := p.finishNode(p.factory.NewBlock(statements, multiline), pos) |
| 1220 | p.withJSDoc(result, jsdoc) |
| 1221 | if p.token == ast.KindEqualsToken { |
| 1222 | p.parseErrorAtCurrentToken(diagnostics.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses) |
| 1223 | p.nextToken() |
| 1224 | } |
| 1225 | return result |
| 1226 | } |
| 1227 | result := p.finishNode(p.factory.NewBlock(p.createMissingList(), multiline), pos) |
| 1228 | p.withJSDoc(result, jsdoc) |
| 1229 | return result |
| 1230 | } |
| 1231 | |
| 1232 | func (p *Parser) parseEmptyStatement() *ast.Node { |
| 1233 | pos := p.nodePos() |
no test coverage detected