(symbol *ast.Symbol, node *ast.Node, symbolFlags ast.SymbolFlags)
| 2518 | } |
| 2519 | |
| 2520 | func (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 | |
| 2538 | func SetValueDeclaration(symbol *ast.Symbol, node *ast.Node) { |
| 2539 | valueDeclaration := symbol.ValueDeclaration |
no test coverage detected