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

Method emitModuleDeclaration

internal/printer/printer.go:3817–3839  ·  view source on GitHub ↗
(node *ast.ModuleDeclaration)

Source from the content-addressed store, hash-verified

3815}
3816
3817func (p *Printer) emitModuleDeclaration(node *ast.ModuleDeclaration) {
3818 state := p.enterNode(node.AsNode())
3819 p.emitModifierList(node.AsNode(), node.Modifiers(), false /*allowDecorators*/)
3820 if node.Keyword != ast.KindGlobalKeyword {
3821 p.writeKeyword(core.IfElse(node.Keyword == ast.KindNamespaceKeyword, "namespace", "module"))
3822 p.writeSpace()
3823 }
3824 p.emitModuleName(node.Name())
3825 body := node.Body
3826 for body != nil && ast.IsModuleDeclaration(body) {
3827 module := body.AsModuleDeclaration()
3828 p.writePunctuation(".")
3829 p.emitNestedModuleName(module.Name())
3830 body = module.Body
3831 }
3832 if body == nil {
3833 p.writeTrailingSemicolon()
3834 } else {
3835 p.writeSpace()
3836 p.emitModuleBlock(body.AsModuleBlock())
3837 }
3838 p.exitNode(node.AsNode(), state)
3839}
3840
3841func (p *Printer) emitModuleBlock(node *ast.ModuleBlock) {
3842 state := p.enterNode(node.AsNode())

Callers 1

emitStatementMethod · 0.95

Calls 15

enterNodeMethod · 0.95
emitModifierListMethod · 0.95
writeKeywordMethod · 0.95
writeSpaceMethod · 0.95
emitModuleNameMethod · 0.95
writePunctuationMethod · 0.95
emitNestedModuleNameMethod · 0.95
emitModuleBlockMethod · 0.95
exitNodeMethod · 0.95
IfElseFunction · 0.92
IsModuleDeclarationFunction · 0.92

Tested by

no test coverage detected