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

Method addDeclarationToSymbol

internal/binder/binder.go:2520–2536  ·  view source on GitHub ↗
(symbol *ast.Symbol, node *ast.Node, symbolFlags ast.SymbolFlags)

Source from the content-addressed store, hash-verified

2518}
2519
2520func (b *Binder) addDeclarationToSymbol(symbol *ast.Symbol, node *ast.Node, symbolFlags ast.SymbolFlags) {
2521 symbol.Flags |= symbolFlags
2522 node.DeclarationData().Symbol = symbol
2523 if symbol.Declarations == nil {
2524 symbol.Declarations = b.newSingleDeclaration(node)
2525 } else {
2526 symbol.Declarations = core.AppendIfUnique(symbol.Declarations, node)
2527 }
2528 // On merge of const enum module with class or function, reset const enum only flag (namespaces will already recalculate)
2529 if symbol.Flags&ast.SymbolFlagsConstEnumOnlyModule != 0 && symbol.Flags&(ast.SymbolFlagsFunction|ast.SymbolFlagsClass|ast.SymbolFlagsRegularEnum) != 0 {
2530 symbol.Flags &^= ast.SymbolFlagsConstEnumOnlyModule
2531 b.notConstEnumOnlyModules.Add(symbol)
2532 }
2533 if symbolFlags&ast.SymbolFlagsValue != 0 {
2534 SetValueDeclaration(symbol, node)
2535 }
2536}
2537
2538func SetValueDeclaration(symbol *ast.Symbol, node *ast.Node) {
2539 valueDeclaration := symbol.ValueDeclaration

Callers 3

declareSymbolExMethod · 0.95

Calls 5

newSingleDeclarationMethod · 0.95
AppendIfUniqueFunction · 0.92
SetValueDeclarationFunction · 0.85
DeclarationDataMethod · 0.65
AddMethod · 0.65

Tested by

no test coverage detected