(node *ast.Node, sourceFile *ast.SourceFile, writer EmitTextWriter, sourceMapGenerator *sourcemap.Generator)
| 5043 | } |
| 5044 | |
| 5045 | func (p *Printer) Write(node *ast.Node, sourceFile *ast.SourceFile, writer EmitTextWriter, sourceMapGenerator *sourcemap.Generator) { |
| 5046 | savedCurrentSourceFile := p.currentSourceFile |
| 5047 | savedWriter := p.writer |
| 5048 | savedUniqueHelperNames := p.uniqueHelperNames |
| 5049 | savedSourceMapsDisabled := p.sourceMapsDisabled |
| 5050 | savedSourceMapGenerator := p.sourceMapGenerator |
| 5051 | savedSourceMapSource := p.sourceMapSource |
| 5052 | savedSourceMapSourceIndex := p.sourceMapSourceIndex |
| 5053 | savedSourceMapLineCharCache := p.sourceMapLineCharCache |
| 5054 | |
| 5055 | p.sourceMapsDisabled = sourceMapGenerator == nil |
| 5056 | p.sourceMapGenerator = sourceMapGenerator |
| 5057 | p.sourceMapSource = nil |
| 5058 | p.sourceMapSourceIndex = -1 |
| 5059 | p.sourceMapLineCharCache = nil |
| 5060 | |
| 5061 | p.setSourceFile(sourceFile) |
| 5062 | p.writer = writer |
| 5063 | p.writer.Clear() |
| 5064 | if sourceFile != nil { |
| 5065 | if grower, ok := p.writer.(interface{ Grow(n int) }); ok { |
| 5066 | grower.Grow(len(sourceFile.Text())) |
| 5067 | } |
| 5068 | } |
| 5069 | |
| 5070 | switch node.Kind { |
| 5071 | // Pseudo-literals |
| 5072 | case ast.KindTemplateHead: |
| 5073 | p.emitTemplateHead(node.AsTemplateHead()) |
| 5074 | case ast.KindTemplateMiddle: |
| 5075 | p.emitTemplateMiddle(node.AsTemplateMiddle()) |
| 5076 | case ast.KindTemplateTail: |
| 5077 | p.emitTemplateTail(node.AsTemplateTail()) |
| 5078 | |
| 5079 | // Identifiers |
| 5080 | case ast.KindIdentifier: |
| 5081 | p.emitIdentifierName(node.AsIdentifier()) |
| 5082 | |
| 5083 | // PrivateIdentifiers |
| 5084 | case ast.KindPrivateIdentifier: |
| 5085 | p.emitPrivateIdentifier(node.AsPrivateIdentifier()) |
| 5086 | |
| 5087 | // Parse tree nodes |
| 5088 | // Names |
| 5089 | case ast.KindQualifiedName: |
| 5090 | p.emitQualifiedName(node.AsQualifiedName()) |
| 5091 | case ast.KindComputedPropertyName: |
| 5092 | p.emitComputedPropertyName(node.AsComputedPropertyName()) |
| 5093 | |
| 5094 | // Signature elements |
| 5095 | case ast.KindTypeParameter: |
| 5096 | p.emitTypeParameter(node.AsTypeParameterDeclaration()) |
| 5097 | case ast.KindParameter: |
| 5098 | p.emitParameter(node.AsParameterDeclaration()) |
| 5099 | case ast.KindDecorator: |
| 5100 | p.emitDecorator(node.AsDecorator()) |
| 5101 | |
| 5102 | // Type members |
no test coverage detected