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

Method emitConditionalExpression

internal/printer/printer.go:2888–2908  ·  view source on GitHub ↗
(node *ast.ConditionalExpression)

Source from the content-addressed store, hash-verified

2886}
2887
2888func (p *Printer) emitConditionalExpression(node *ast.ConditionalExpression) {
2889 state := p.enterNode(node.AsNode())
2890 linesBeforeQuestion := p.getLinesBetweenNodes(node.AsNode(), node.Condition, node.QuestionToken)
2891 linesAfterQuestion := p.getLinesBetweenNodes(node.AsNode(), node.QuestionToken, node.WhenTrue)
2892 linesBeforeColon := p.getLinesBetweenNodes(node.AsNode(), node.WhenTrue, node.ColonToken)
2893 linesAfterColon := p.getLinesBetweenNodes(node.AsNode(), node.ColonToken, node.WhenFalse)
2894 p.emitShortCircuitExpression(node.Condition)
2895 p.writeLinesAndIndent(linesBeforeQuestion /*writeSpaceIfNotIndenting*/, true)
2896 p.emitPunctuationNode(node.QuestionToken)
2897 p.writeLinesAndIndent(linesAfterQuestion /*writeSpaceIfNotIndenting*/, true)
2898 p.emitExpression(node.WhenTrue, ast.OperatorPrecedenceYield)
2899 p.decreaseIndentIf(linesAfterQuestion > 0)
2900 p.decreaseIndentIf(linesBeforeQuestion > 0)
2901 p.writeLinesAndIndent(linesBeforeColon /*writeSpaceIfNotIndenting*/, true)
2902 p.emitPunctuationNode(node.ColonToken)
2903 p.writeLinesAndIndent(linesAfterColon /*writeSpaceIfNotIndenting*/, true)
2904 p.emitExpression(node.WhenFalse, ast.OperatorPrecedenceYield)
2905 p.decreaseIndentIf(linesAfterColon > 0)
2906 p.decreaseIndentIf(linesBeforeColon > 0)
2907 p.exitNode(node.AsNode(), state)
2908}
2909
2910func (p *Printer) emitTemplateExpression(node *ast.TemplateExpression) {
2911 state := p.enterNode(node.AsNode())

Callers 1

emitExpressionMethod · 0.95

Calls 9

enterNodeMethod · 0.95
getLinesBetweenNodesMethod · 0.95
writeLinesAndIndentMethod · 0.95
emitPunctuationNodeMethod · 0.95
emitExpressionMethod · 0.95
decreaseIndentIfMethod · 0.95
exitNodeMethod · 0.95
AsNodeMethod · 0.65

Tested by

no test coverage detected