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

Function resolveJSDocMemberName

test/fixtures/snapshot/typescript.js:86388–86407  ·  view source on GitHub ↗

* Recursively resolve entity names and jsdoc instance references: * 1. K#m as K.prototype.m for a class (or other value) K * 2. K.m as K.prototype.m * 3. I.m as I.m for a type I, or any other I.m that fails to resolve in (1) or (2) * * For unqualified nam

(name, container)

Source from the content-addressed store, hash-verified

86386 * For unqualified names, a container K may be provided as a second argument.
86387 */
86388 function resolveJSDocMemberName(name, container) {
86389 if (ts.isEntityName(name)) {
86390 // resolve static values first
86391 var meaning = 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 111551 /* SymbolFlags.Value */;
86392 var symbol = resolveEntityName(name, meaning, /*ignoreErrors*/ false, /*dontResolveAlias*/ true, ts.getHostSignatureFromJSDoc(name));
86393 if (!symbol && ts.isIdentifier(name) && container) {
86394 symbol = getMergedSymbol(getSymbol(getExportsOfSymbol(container), name.escapedText, meaning));
86395 }
86396 if (symbol) {
86397 return symbol;
86398 }
86399 }
86400 var left = ts.isIdentifier(name) ? container : resolveJSDocMemberName(name.left);
86401 var right = ts.isIdentifier(name) ? name.escapedText : name.right.escapedText;
86402 if (left) {
86403 var proto = left.flags & 111551 /* SymbolFlags.Value */ && getPropertyOfType(getTypeOfSymbol(left), "prototype");
86404 var t = proto ? getTypeOfSymbol(proto) : getDeclaredTypeOfSymbol(left);
86405 return getPropertyOfType(t, right);
86406 }
86407 }
86408 function getSymbolAtLocation(node, ignoreErrors) {
86409 if (node.kind === 305 /* SyntaxKind.SourceFile */) {
86410 return ts.isExternalModule(node) ? getMergedSymbol(node.symbol) : undefined;

Calls 7

resolveEntityNameFunction · 0.85
getMergedSymbolFunction · 0.85
getSymbolFunction · 0.85
getExportsOfSymbolFunction · 0.85
getPropertyOfTypeFunction · 0.85
getTypeOfSymbolFunction · 0.85
getDeclaredTypeOfSymbolFunction · 0.85

Tested by

no test coverage detected