@@ -3199,7 +3199,7 @@ namespace ts {
3199
3199
if ((symbol as TransientSymbol).syntheticLiteralTypeOrigin) {
3200
3200
const stringValue = (symbol as TransientSymbol).syntheticLiteralTypeOrigin.value;
3201
3201
if (!isIdentifierText(stringValue, compilerOptions.target)) {
3202
- return `"${ escapeString(stringValue, CharacterCodes.doubleQuote)}"` ;
3202
+ return '"' + escapeString(stringValue, CharacterCodes.doubleQuote) + '"' ;
3203
3203
}
3204
3204
}
3205
3205
return symbolName(symbol);
@@ -5562,9 +5562,9 @@ namespace ts {
5562
5562
/**
5563
5563
* Gets the symbolic name for a late-bound member from its type.
5564
5564
*/
5565
- function getLateBoundNameFromType(type: LiteralType | UniqueESSymbolType) {
5565
+ function getLateBoundNameFromType(type: LiteralType | UniqueESSymbolType): __String | undefined {
5566
5566
if (type.flags & TypeFlags.UniqueESSymbol) {
5567
- return ` __@${ type.symbol.escapedName}@${ getSymbolId(type.symbol)}` as __String;
5567
+ return " __@" + type.symbol.escapedName + "@" + getSymbolId(type.symbol) as __String;
5568
5568
}
5569
5569
if (type.flags & TypeFlags.StringOrNumberLiteral) {
5570
5570
return escapeLeadingUnderscores("" + (<LiteralType>type).value);
@@ -17176,21 +17176,22 @@ namespace ts {
17176
17176
const candidate = candidates[bestIndex];
17177
17177
17178
17178
const { typeParameters } = candidate;
17179
- if (typeParameters && callLikeExpressionMayHaveTypeArguments(node) && node.typeArguments) {
17180
- const typeArguments = node.typeArguments.map(getTypeOfNode);
17181
- while (typeArguments.length > typeParameters.length) {
17182
- typeArguments.pop();
17183
- }
17184
- while (typeArguments.length < typeParameters.length) {
17185
- typeArguments.push(getDefaultTypeArgumentType(isInJavaScriptFile(node)));
17186
- }
17179
+ if (!typeParameters) {
17180
+ return candidate;
17181
+ }
17187
17182
17188
- const instantiated = createSignatureInstantiation(candidate, typeArguments);
17189
- candidates[bestIndex] = instantiated;
17190
- return instantiated;
17183
+ const typeArgumentNodes: ReadonlyArray<TypeNode> = callLikeExpressionMayHaveTypeArguments(node) ? node.typeArguments || emptyArray : emptyArray;
17184
+ const typeArguments = typeArgumentNodes.map(getTypeOfNode);
17185
+ while (typeArguments.length > typeParameters.length) {
17186
+ typeArguments.pop();
17187
+ }
17188
+ while (typeArguments.length < typeParameters.length) {
17189
+ typeArguments.push(getDefaultTypeArgumentType(isInJavaScriptFile(node)));
17191
17190
}
17192
17191
17193
- return candidate;
17192
+ const instantiated = createSignatureInstantiation(candidate, typeArguments);
17193
+ candidates[bestIndex] = instantiated;
17194
+ return instantiated;
17194
17195
}
17195
17196
17196
17197
function getLongestCandidateIndex(candidates: ReadonlyArray<Signature>, argsCount: number): number {
0 commit comments