(chain, index, context)
| 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 | */ |
no test coverage detected