Skip to content

Commit 21963ce

Browse files
committed
Restore reference change
1 parent 4c90ba9 commit 21963ce

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

src/compiler/binder.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -837,9 +837,8 @@ namespace ts {
837837
function isNarrowableReference(expr: Expression): boolean {
838838
return expr.kind === SyntaxKind.Identifier || expr.kind === SyntaxKind.ThisKeyword || expr.kind === SyntaxKind.SuperKeyword ||
839839
(isPropertyAccessExpression(expr) || isNonNullExpression(expr) || isParenthesizedExpression(expr)) && isNarrowableReference(expr.expression) ||
840-
isElementAccessExpression(expr) && isStringOrNumericLiteralLike(expr.argumentExpression) && isNarrowableReference(expr.expression);
841-
// ||
842-
// isAssignmentExpression(expr) && isNarrowableReference(expr.left);
840+
isElementAccessExpression(expr) && isStringOrNumericLiteralLike(expr.argumentExpression) && isNarrowableReference(expr.expression) ||
841+
isAssignmentExpression(expr) && isNarrowableReference(expr.left);
843842
}
844843

845844
function containsNarrowableReference(expr: Expression): boolean {

src/compiler/checker.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20131,11 +20131,11 @@ namespace ts {
2013120131
case SyntaxKind.ParenthesizedExpression:
2013220132
case SyntaxKind.NonNullExpression:
2013320133
return isMatchingReference(source, (target as NonNullExpression | ParenthesizedExpression).expression);
20134-
// case SyntaxKind.BinaryExpression:
20135-
// if (isAssignmentExpression(target)) {
20136-
// return isMatchingReference(source, target.left);
20137-
// }
20138-
// break;
20134+
case SyntaxKind.BinaryExpression:
20135+
if (isAssignmentExpression(target)) {
20136+
return isMatchingReference(source, target.left);
20137+
}
20138+
break;
2013920139
}
2014020140
switch (source.kind) {
2014120141
case SyntaxKind.Identifier:

0 commit comments

Comments
 (0)