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

Method getNodeBuilder

internal/checker/nodebuilder.go:288–297  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

286}
287
288func (c *Checker) getNodeBuilder() (*NodeBuilder, func()) {
289 releaseNodes := func() {
290 c.typeToStringNodebuilder.EmitContext().Factory.ReleaseArenas() // Allow any allocated nodes to be freed if they're no longer in a cache
291 }
292 if c.typeToStringNodebuilder != nil {
293 return c.typeToStringNodebuilder, releaseNodes
294 }
295 c.typeToStringNodebuilder = c.getNodeBuilderEx(nil /*idToSymbol*/)
296 return c.typeToStringNodebuilder, releaseNodes
297}
298
299func (c *Checker) getNodeBuilderEx(idToSymbol map[*ast.IdentifierNode]*ast.Symbol) *NodeBuilder {
300 b := NewNodeBuilderEx(c, printer.NewEmitContext(), idToSymbol)

Callers 7

typeToStringExMethod · 0.95
symbolToStringExMethod · 0.95
signatureToStringExMethod · 0.95
ExpandSymbolForHoverMethod · 0.95

Calls 3

getNodeBuilderExMethod · 0.95
ReleaseArenasMethod · 0.80
EmitContextMethod · 0.45

Tested by

no test coverage detected