From 9b0231d9b897b44b75d7828afe61bb1048beff38 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Thu, 19 Nov 2015 17:50:28 -0800 Subject: [PATCH] Minor change to getStringLiteralType --- src/compiler/checker.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index a155387d2ee..61dabb6d50b 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4531,8 +4531,7 @@ namespace ts { return links.resolvedType; } - function getStringLiteralType(node: StringLiteral | StringLiteralTypeNode): StringLiteralType { - const text = node.text; + function getStringLiteralType(text: string): StringLiteralType { if (hasProperty(stringLiteralTypes, text)) { return stringLiteralTypes[text]; } @@ -4545,7 +4544,7 @@ namespace ts { function getTypeFromStringLiteral(node: StringLiteral | StringLiteralTypeNode): Type { const links = getNodeLinks(node); if (!links.resolvedType) { - links.resolvedType = getStringLiteralType(node); + links.resolvedType = getStringLiteralType(node.text); } return links.resolvedType; } @@ -8747,7 +8746,7 @@ namespace ts { // for the argument. In that case, we should check the argument. if (argType === undefined) { argType = arg.kind === SyntaxKind.StringLiteral && !reportErrors - ? getStringLiteralType(arg) + ? getStringLiteralType((arg).text) : checkExpressionWithContextualType(arg, paramType, excludeArgument && excludeArgument[i] ? identityMapper : undefined); } @@ -8942,7 +8941,7 @@ namespace ts { case SyntaxKind.Identifier: case SyntaxKind.NumericLiteral: case SyntaxKind.StringLiteral: - return getStringLiteralType(element.name); + return getStringLiteralType((element.name).text); case SyntaxKind.ComputedPropertyName: const nameType = checkComputedPropertyName(element.name); @@ -10564,7 +10563,8 @@ namespace ts { function checkStringLiteralExpression(node: StringLiteral): Type { const contextualType = getContextualType(node); if (contextualType && contextualTypeIsStringLiteralType(contextualType)) { - return getStringLiteralType(node); + // TODO (drosen): Consider using getTypeFromStringLiteral instead + return getStringLiteralType(node.text); } return stringType;