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

Method Write

internal/printer/printer.go:5045–5251  ·  view source on GitHub ↗
(node *ast.Node, sourceFile *ast.SourceFile, writer EmitTextWriter, sourceMapGenerator *sourcemap.Generator)

Source from the content-addressed store, hash-verified

5043}
5044
5045func (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

Callers 10

typeToStringForDiagFunction · 0.95
returnTypeToDisplayPartsFunction · 0.95
itemInfoForParametersMethod · 0.95
EmitMethod · 0.95
typeToStringExMethod · 0.95
symbolToStringExMethod · 0.95
writeTypeOrSymbolMethod · 0.95

Calls 15

setSourceFileMethod · 0.95
emitTemplateHeadMethod · 0.95
emitTemplateMiddleMethod · 0.95
emitTemplateTailMethod · 0.95
emitIdentifierNameMethod · 0.95
emitPrivateIdentifierMethod · 0.95
emitQualifiedNameMethod · 0.95
emitTypeParameterMethod · 0.95
emitParameterMethod · 0.95
emitDecoratorMethod · 0.95
emitPropertySignatureMethod · 0.95

Tested by

no test coverage detected