MCPcopy Create free account
hub / github.com/microsoft/typescript-go / cloneTypeAsModuleType

Method cloneTypeAsModuleType

internal/checker/checker.go:15634–15647  ·  view source on GitHub ↗
(symbol *ast.Symbol, moduleType *Type, referenceParent *ast.Node)

Source from the content-addressed store, hash-verified

15632}
15633
15634func (c *Checker) cloneTypeAsModuleType(symbol *ast.Symbol, moduleType *Type, referenceParent *ast.Node) *ast.Symbol {
15635 result := c.newSymbol(symbol.Flags, symbol.Name)
15636 result.Declarations = slices.Clone(symbol.Declarations)
15637 result.ValueDeclaration = symbol.ValueDeclaration
15638 result.Members = maps.Clone(symbol.Members)
15639 result.Exports = maps.Clone(symbol.Exports)
15640 result.Parent = symbol.Parent
15641 links := c.exportTypeLinks.Get(result)
15642 links.target = symbol
15643 links.originatingImport = referenceParent
15644 resolvedModuleType := c.resolveStructuredTypeMembers(moduleType)
15645 c.valueSymbolLinks.Get(result).resolvedType = c.newAnonymousType(result, resolvedModuleType.members, nil, nil, resolvedModuleType.indexInfos)
15646 return result
15647}
15648
15649func (c *Checker) getTargetOfAliasDeclaration(node *ast.Node) *ast.Symbol {
15650 if node == nil {

Callers 1

resolveESModuleSymbolMethod · 0.95

Calls 5

newSymbolMethod · 0.95
newAnonymousTypeMethod · 0.95
CloneMethod · 0.65
GetMethod · 0.65

Tested by

no test coverage detected