MCPcopy
hub / github.com/microsoft/typescript-go / emitNewExpression

Method emitNewExpression

internal/printer/printer.go:2575–2588  ·  view source on GitHub ↗
(node *ast.NewExpression)

Source from the content-addressed store, hash-verified

2573}
2574
2575func (p *Printer) emitNewExpression(node *ast.NewExpression) {
2576 state := p.enterNode(node.AsNode())
2577 p.emitToken(ast.KindNewKeyword, node.Pos(), WriteKindKeyword, node.AsNode())
2578 p.writeSpace()
2579 if ast.SkipPartiallyEmittedExpressions(node.Expression).Kind == ast.KindCallExpression {
2580 // Parenthesize `C()` inside of a NewExpression so it is treated as `new (C())` and not `new C()`
2581 p.emitExpression(node.Expression, ast.OperatorPrecedenceParentheses)
2582 } else {
2583 p.emitExpression(node.Expression, ast.OperatorPrecedenceMember)
2584 }
2585 p.emitTypeArguments(node.AsNode(), node.TypeArguments)
2586 p.emitList((*Printer).emitArgument, node.AsNode(), node.Arguments, LFNewExpressionArguments)
2587 p.exitNode(node.AsNode(), state)
2588}
2589
2590func (p *Printer) emitTemplateLiteral(node *ast.TemplateLiteral) {
2591 switch node.Kind {

Callers 1

emitExpressionMethod · 0.95

Calls 10

enterNodeMethod · 0.95
emitTokenMethod · 0.95
writeSpaceMethod · 0.95
emitExpressionMethod · 0.95
emitTypeArgumentsMethod · 0.95
emitListMethod · 0.95
exitNodeMethod · 0.95
AsNodeMethod · 0.65
PosMethod · 0.65

Tested by

no test coverage detected