(chain, index)
| 53800 | var chain = lookupSymbolChain(symbol, context, meaning); |
| 53801 | return createExpressionFromSymbolChain(chain, chain.length - 1); |
| 53802 | function createExpressionFromSymbolChain(chain, index) { |
| 53803 | var typeParameterNodes = lookupTypeParameterNodes(chain, index, context); |
| 53804 | var symbol = chain[index]; |
| 53805 | if (index === 0) { |
| 53806 | context.flags |= 16777216 /* NodeBuilderFlags.InInitialEntityName */; |
| 53807 | } |
| 53808 | var symbolName = getNameOfSymbolAsWritten(symbol, context); |
| 53809 | if (index === 0) { |
| 53810 | context.flags ^= 16777216 /* NodeBuilderFlags.InInitialEntityName */; |
| 53811 | } |
| 53812 | var firstChar = symbolName.charCodeAt(0); |
| 53813 | if (ts.isSingleOrDoubleQuote(firstChar) && ts.some(symbol.declarations, hasNonGlobalAugmentationExternalModuleSymbol)) { |
| 53814 | return ts.factory.createStringLiteral(getSpecifierForModuleSymbol(symbol, context)); |
| 53815 | } |
| 53816 | var canUsePropertyAccess = firstChar === 35 /* CharacterCodes.hash */ ? |
| 53817 | symbolName.length > 1 && ts.isIdentifierStart(symbolName.charCodeAt(1), languageVersion) : |
| 53818 | ts.isIdentifierStart(firstChar, languageVersion); |
| 53819 | if (index === 0 || canUsePropertyAccess) { |
| 53820 | var identifier = ts.setEmitFlags(ts.factory.createIdentifier(symbolName, typeParameterNodes), 16777216 /* EmitFlags.NoAsciiEscaping */); |
| 53821 | identifier.symbol = symbol; |
| 53822 | return index > 0 ? ts.factory.createPropertyAccessExpression(createExpressionFromSymbolChain(chain, index - 1), identifier) : identifier; |
| 53823 | } |
| 53824 | else { |
| 53825 | if (firstChar === 91 /* CharacterCodes.openBracket */) { |
| 53826 | symbolName = symbolName.substring(1, symbolName.length - 1); |
| 53827 | firstChar = symbolName.charCodeAt(0); |
| 53828 | } |
| 53829 | var expression = void 0; |
| 53830 | if (ts.isSingleOrDoubleQuote(firstChar) && !(symbol.flags & 8 /* SymbolFlags.EnumMember */)) { |
| 53831 | expression = ts.factory.createStringLiteral(ts.stripQuotes(symbolName).replace(/\\./g, function (s) { return s.substring(1); }), firstChar === 39 /* CharacterCodes.singleQuote */); |
| 53832 | } |
| 53833 | else if (("" + +symbolName) === symbolName) { |
| 53834 | expression = ts.factory.createNumericLiteral(+symbolName); |
| 53835 | } |
| 53836 | if (!expression) { |
| 53837 | expression = ts.setEmitFlags(ts.factory.createIdentifier(symbolName, typeParameterNodes), 16777216 /* EmitFlags.NoAsciiEscaping */); |
| 53838 | expression.symbol = symbol; |
| 53839 | } |
| 53840 | return ts.factory.createElementAccessExpression(createExpressionFromSymbolChain(chain, index - 1), expression); |
| 53841 | } |
| 53842 | } |
| 53843 | } |
| 53844 | function isStringNamed(d) { |
| 53845 | var name = ts.getNameOfDeclaration(d); |
no test coverage detected
searching dependent graphs…