(node *ast.ModuleDeclaration)
| 3815 | } |
| 3816 | |
| 3817 | func (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 | |
| 3841 | func (p *Printer) emitModuleBlock(node *ast.ModuleBlock) { |
| 3842 | state := p.enterNode(node.AsNode()) |
no test coverage detected