Merge pull request #7464 from Microsoft/capturedLetConstInDestructuringAssignment

correctly recognize captured loop variables in destructuring assignment
This commit is contained in:
Vladimir Matveev
2016-03-10 10:17:19 -08:00
5 changed files with 155 additions and 4 deletions
+3 -4
View File
@@ -7485,11 +7485,10 @@ namespace ts {
// check if node is used as LHS in some assignment expression
let isAssigned = false;
if (current.parent.kind === SyntaxKind.BinaryExpression) {
isAssigned = (<BinaryExpression>current.parent).left === current && isAssignmentOperator((<BinaryExpression>current.parent).operatorToken.kind);
if (isAssignmentTarget(current)) {
isAssigned = true;
}
if ((current.parent.kind === SyntaxKind.PrefixUnaryExpression || current.parent.kind === SyntaxKind.PostfixUnaryExpression)) {
else if ((current.parent.kind === SyntaxKind.PrefixUnaryExpression || current.parent.kind === SyntaxKind.PostfixUnaryExpression)) {
const expr = <PrefixUnaryExpression | PostfixUnaryExpression>current.parent;
isAssigned = expr.operator === SyntaxKind.PlusPlusToken || expr.operator === SyntaxKind.MinusMinusToken;
}