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

Method emitIfStatement

internal/printer/printer.go:3456–3475  ·  view source on GitHub ↗
(node *ast.IfStatement)

Source from the content-addressed store, hash-verified

3454}
3455
3456func (p *Printer) emitIfStatement(node *ast.IfStatement) {
3457 state := p.enterNode(node.AsNode())
3458 pos := p.emitToken(ast.KindIfKeyword, node.Pos(), WriteKindKeyword, node.AsNode())
3459 p.writeSpace()
3460 p.emitToken(ast.KindOpenParenToken, pos, WriteKindPunctuation, node.AsNode())
3461 p.emitExpression(node.Expression, ast.OperatorPrecedenceLowest)
3462 p.emitToken(ast.KindCloseParenToken, node.Expression.End(), WriteKindPunctuation, node.AsNode())
3463 p.emitEmbeddedStatement(node.AsNode(), node.ThenStatement)
3464 if node.ElseStatement != nil {
3465 p.writeLineOrSpace(node.AsNode(), node.ThenStatement, node.ElseStatement)
3466 p.emitToken(ast.KindElseKeyword, node.ThenStatement.End(), WriteKindKeyword, node.AsNode())
3467 if node.ElseStatement.Kind == ast.KindIfStatement {
3468 p.writeSpace()
3469 p.emitIfStatement(node.ElseStatement.AsIfStatement())
3470 } else {
3471 p.emitEmbeddedStatement(node.AsNode(), node.ElseStatement)
3472 }
3473 }
3474 p.exitNode(node.AsNode(), state)
3475}
3476
3477func (p *Printer) emitWhileClause(node *ast.Node, expression *ast.Expression, startPos int) {
3478 pos := p.emitToken(ast.KindWhileKeyword, startPos, WriteKindKeyword, node)

Callers 1

emitStatementMethod · 0.95

Calls 11

enterNodeMethod · 0.95
emitTokenMethod · 0.95
writeSpaceMethod · 0.95
emitExpressionMethod · 0.95
emitEmbeddedStatementMethod · 0.95
writeLineOrSpaceMethod · 0.95
exitNodeMethod · 0.95
AsIfStatementMethod · 0.80
AsNodeMethod · 0.65
PosMethod · 0.65
EndMethod · 0.65

Tested by

no test coverage detected