diff --git a/src/compiler/factory.ts b/src/compiler/factory.ts index 573679b4f1a..f7aa18fa7ea 100644 --- a/src/compiler/factory.ts +++ b/src/compiler/factory.ts @@ -711,9 +711,15 @@ namespace ts { } export function createMemberAccessForPropertyName(target: Expression, memberName: PropertyName, location?: TextRange): MemberExpression { - return isIdentifier(memberName) - ? createPropertyAccess(target, getSynthesizedClone(memberName), location) - : createElementAccess(target, getSynthesizedClone(isComputedPropertyName(memberName) ? memberName.expression : memberName), location); + if (isIdentifier(memberName)) { + return createPropertyAccess(target, getSynthesizedClone(memberName), location); + } + else if (isComputedPropertyName(memberName)) { + return createElementAccess(target, memberName.expression, location); + } + else { + return createElementAccess(target, memberName, location); + } } export function createRestParameter(name: string | Identifier) { diff --git a/src/compiler/transformers/ts.ts b/src/compiler/transformers/ts.ts index 1d8dd46edee..bcf79b91532 100644 --- a/src/compiler/transformers/ts.ts +++ b/src/compiler/transformers/ts.ts @@ -1749,7 +1749,7 @@ namespace ts { ); } else { - return getSynthesizedClone(name); + return name; } }