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

Method emitClassDeclaration

internal/printer/printer.go:3747–3769  ·  view source on GitHub ↗
(node *ast.ClassDeclaration)

Source from the content-addressed store, hash-verified

3745}
3746
3747func (p *Printer) emitClassDeclaration(node *ast.ClassDeclaration) {
3748 state := p.enterNode(node.AsNode())
3749 p.generateNameIfNeeded(node.Name())
3750 pos := p.emitModifierList(node.AsNode(), node.Modifiers(), true /*allowDecorators*/)
3751 p.emitToken(ast.KindClassKeyword, pos, WriteKindKeyword, node.AsNode())
3752 if node.Name() != nil {
3753 p.writeSpace()
3754 p.emitIdentifierName(node.Name().AsIdentifier())
3755 }
3756 indented := p.shouldEmitIndented(node.AsNode())
3757 p.increaseIndentIf(indented)
3758 p.emitTypeParameters(node.AsNode(), node.TypeParameters)
3759 p.emitList((*Printer).emitHeritageClauseNode, node.AsNode(), node.HeritageClauses, LFClassHeritageClauses)
3760 p.writeSpace()
3761 p.writePunctuation("{")
3762 p.pushNameGenerationScope(node.AsNode())
3763 p.generateAllMemberNames(node.Members)
3764 p.emitList((*Printer).emitClassElement, node.AsNode(), node.Members, LFClassMembers)
3765 p.popNameGenerationScope(node.AsNode())
3766 p.writePunctuation("}")
3767 p.decreaseIndentIf(indented)
3768 p.exitNode(node.AsNode(), state)
3769}
3770
3771func (p *Printer) emitInterfaceDeclaration(node *ast.InterfaceDeclaration) {
3772 state := p.enterNode(node.AsNode())

Callers 1

emitStatementMethod · 0.95

Calls 15

enterNodeMethod · 0.95
generateNameIfNeededMethod · 0.95
emitModifierListMethod · 0.95
emitTokenMethod · 0.95
writeSpaceMethod · 0.95
emitIdentifierNameMethod · 0.95
shouldEmitIndentedMethod · 0.95
increaseIndentIfMethod · 0.95
emitTypeParametersMethod · 0.95
emitListMethod · 0.95
writePunctuationMethod · 0.95

Tested by

no test coverage detected