MCPcopy Index your code
hub / github.com/nodejs/node / lookupTypeParameterNodes

Function lookupTypeParameterNodes

test/fixtures/snapshot/typescript.js:53499–53521  ·  view source on GitHub ↗
(chain, index, context)

Source from the content-addressed store, hash-verified

53497 return typeParameterNodes;
53498 }
53499 function lookupTypeParameterNodes(chain, index, context) {
53500 var _a;
53501 ts.Debug.assert(chain && 0 <= index && index < chain.length);
53502 var symbol = chain[index];
53503 var symbolId = getSymbolId(symbol);
53504 if ((_a = context.typeParameterSymbolList) === null || _a === void 0 ? void 0 : _a.has(symbolId)) {
53505 return undefined;
53506 }
53507 (context.typeParameterSymbolList || (context.typeParameterSymbolList = new ts.Set())).add(symbolId);
53508 var typeParameterNodes;
53509 if (context.flags & 512 /* NodeBuilderFlags.WriteTypeParametersInQualifiedName */ && index < (chain.length - 1)) {
53510 var parentSymbol = symbol;
53511 var nextSymbol_1 = chain[index + 1];
53512 if (ts.getCheckFlags(nextSymbol_1) & 1 /* CheckFlags.Instantiated */) {
53513 var params = getTypeParametersOfClassOrInterface(parentSymbol.flags & 2097152 /* SymbolFlags.Alias */ ? resolveAlias(parentSymbol) : parentSymbol);
53514 typeParameterNodes = mapToTypeNodes(ts.map(params, function (t) { return getMappedType(t, nextSymbol_1.mapper); }), context);
53515 }
53516 else {
53517 typeParameterNodes = typeParametersToTypeParameterDeclarations(symbol, context);
53518 }
53519 }
53520 return typeParameterNodes;
53521 }
53522 /**
53523 * Given A[B][C][D], finds A[B]
53524 */

Callers 4

symbolToTypeNodeFunction · 0.85

Calls 10

getSymbolIdFunction · 0.85
resolveAliasFunction · 0.85
mapToTypeNodesFunction · 0.85
getMappedTypeFunction · 0.85
assertMethod · 0.80
hasMethod · 0.65
addMethod · 0.65
mapMethod · 0.65

Tested by

no test coverage detected