MCPcopy Create free account
hub / github.com/microsoft/typescript-go / emitForStatement

Method emitForStatement

internal/printer/printer.go:3515–3539  ·  view source on GitHub ↗
(node *ast.ForStatement)

Source from the content-addressed store, hash-verified

3513}
3514
3515func (p *Printer) emitForStatement(node *ast.ForStatement) {
3516 state := p.enterNode(node.AsNode())
3517 pos := p.emitToken(ast.KindForKeyword, node.Pos(), WriteKindKeyword, node.AsNode())
3518 p.writeSpace()
3519 pos = p.emitToken(ast.KindOpenParenToken, pos, WriteKindPunctuation, node.AsNode())
3520 if node.Initializer != nil {
3521 p.emitForInitializer(node.Initializer)
3522 pos = node.Initializer.End()
3523 }
3524 pos = p.emitToken(ast.KindSemicolonToken, pos, WriteKindPunctuation, node.AsNode())
3525 if node.Condition != nil {
3526 p.writeSpace()
3527 p.emitExpression(node.Condition, ast.OperatorPrecedenceLowest)
3528 pos = node.Condition.End()
3529 }
3530 pos = p.emitToken(ast.KindSemicolonToken, pos, WriteKindPunctuation, node.AsNode())
3531 if node.Incrementor != nil {
3532 p.writeSpace()
3533 p.emitExpression(node.Incrementor, ast.OperatorPrecedenceLowest)
3534 pos = node.Incrementor.End()
3535 }
3536 p.emitToken(ast.KindCloseParenToken, pos, WriteKindPunctuation, node.AsNode())
3537 p.emitEmbeddedStatement(node.AsNode(), node.Statement)
3538 p.exitNode(node.AsNode(), state)
3539}
3540
3541func (p *Printer) emitForInStatement(node *ast.ForInOrOfStatement) {
3542 state := p.enterNode(node.AsNode())

Callers 1

emitStatementMethod · 0.95

Calls 10

enterNodeMethod · 0.95
emitTokenMethod · 0.95
writeSpaceMethod · 0.95
emitForInitializerMethod · 0.95
emitExpressionMethod · 0.95
emitEmbeddedStatementMethod · 0.95
exitNodeMethod · 0.95
AsNodeMethod · 0.65
PosMethod · 0.65
EndMethod · 0.65

Tested by

no test coverage detected