MCPcopy Create free account
hub / github.com/nodejs/node / combineValueAndTypeSymbols

Function combineValueAndTypeSymbols

test/fixtures/snapshot/typescript.js:50574–50591  ·  view source on GitHub ↗
(valueSymbol, typeSymbol)

Source from the content-addressed store, hash-verified

50572 // An 'import { Point } from "graphics"' needs to create a symbol that combines the value side 'Point'
50573 // property with the type/namespace side interface 'Point'.
50574 function combineValueAndTypeSymbols(valueSymbol, typeSymbol) {
50575 if (valueSymbol === unknownSymbol && typeSymbol === unknownSymbol) {
50576 return unknownSymbol;
50577 }
50578 if (valueSymbol.flags & (788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */)) {
50579 return valueSymbol;
50580 }
50581 var result = createSymbol(valueSymbol.flags | typeSymbol.flags, valueSymbol.escapedName);
50582 result.declarations = ts.deduplicate(ts.concatenate(valueSymbol.declarations, typeSymbol.declarations), ts.equateValues);
50583 result.parent = valueSymbol.parent || typeSymbol.parent;
50584 if (valueSymbol.valueDeclaration)
50585 result.valueDeclaration = valueSymbol.valueDeclaration;
50586 if (typeSymbol.members)
50587 result.members = new ts.Map(typeSymbol.members);
50588 if (valueSymbol.exports)
50589 result.exports = new ts.Map(valueSymbol.exports);
50590 return result;
50591 }
50592 function getExportOfModule(symbol, name, specifier, dontResolveAlias) {
50593 if (symbol.flags & 1536 /* SymbolFlags.Module */) {
50594 var exportSymbol = getExportsOfSymbol(symbol).get(name.escapedText);

Callers 1

getExternalModuleMemberFunction · 0.85

Calls 1

createSymbolFunction · 0.85

Tested by

no test coverage detected