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

Method emitFunctionDeclaration

internal/printer/printer.go:3727–3745  ·  view source on GitHub ↗
(node *ast.FunctionDeclaration)

Source from the content-addressed store, hash-verified

3725}
3726
3727func (p *Printer) emitFunctionDeclaration(node *ast.FunctionDeclaration) {
3728 state := p.enterNode(node.AsNode())
3729 p.generateNameIfNeeded(node.Name())
3730 p.emitModifierList(node.AsNode(), node.Modifiers(), false /*allowDecorators*/)
3731 p.writeKeyword("function")
3732 p.emitTokenNode(node.AsteriskToken)
3733 p.writeSpace()
3734 if name := node.Name(); name != nil {
3735 p.emitIdentifierName(name.AsIdentifier())
3736 }
3737 indented := p.shouldEmitIndented(node.AsNode())
3738 p.increaseIndentIf(indented)
3739 p.pushNameGenerationScope(node.AsNode())
3740 p.emitSignature(node.AsNode())
3741 p.emitFunctionBodyNode(node.Body)
3742 p.popNameGenerationScope(node.AsNode())
3743 p.decreaseIndentIf(indented)
3744 p.exitNode(node.AsNode(), state)
3745}
3746
3747func (p *Printer) emitClassDeclaration(node *ast.ClassDeclaration) {
3748 state := p.enterNode(node.AsNode())

Callers 1

emitStatementMethod · 0.95

Calls 15

enterNodeMethod · 0.95
generateNameIfNeededMethod · 0.95
emitModifierListMethod · 0.95
writeKeywordMethod · 0.95
emitTokenNodeMethod · 0.95
writeSpaceMethod · 0.95
emitIdentifierNameMethod · 0.95
shouldEmitIndentedMethod · 0.95
increaseIndentIfMethod · 0.95
emitSignatureMethod · 0.95
emitFunctionBodyNodeMethod · 0.95

Tested by

no test coverage detected