MCPcopy Index your code
hub / github.com/microsoft/typescript-go / parseIfStatement

Method parseIfStatement

internal/parser/parser.go:1241–1257  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1239}
1240
1241func (p *Parser) parseIfStatement() *ast.Node {
1242 pos := p.nodePos()
1243 jsdoc := p.jsdocScannerInfo()
1244 p.parseExpected(ast.KindIfKeyword)
1245 openParenPosition := p.scanner.TokenStart()
1246 openParenParsed := p.parseExpected(ast.KindOpenParenToken)
1247 expression := p.parseExpressionAllowIn()
1248 p.parseExpectedMatchingBrackets(ast.KindOpenParenToken, ast.KindCloseParenToken, openParenParsed, openParenPosition)
1249 thenStatement := p.parseStatement()
1250 var elseStatement *ast.Statement
1251 if p.parseOptional(ast.KindElseKeyword) {
1252 elseStatement = p.parseStatement()
1253 }
1254 result := p.finishNode(p.factory.NewIfStatement(expression, thenStatement, elseStatement), pos)
1255 p.withJSDoc(result, jsdoc)
1256 return result
1257}
1258
1259func (p *Parser) parseDoStatement() *ast.Node {
1260 pos := p.nodePos()

Callers 1

parseStatementMethod · 0.95

Calls 11

nodePosMethod · 0.95
jsdocScannerInfoMethod · 0.95
parseExpectedMethod · 0.95
parseStatementMethod · 0.95
parseOptionalMethod · 0.95
finishNodeMethod · 0.95
withJSDocMethod · 0.95
TokenStartMethod · 0.80
NewIfStatementMethod · 0.80

Tested by

no test coverage detected