diff --git a/src/com/google/javascript/jscomp/TypeCheck.java b/src/com/google/javascript/jscomp/TypeCheck.java index e5f4c3383c1..e29fe8db3da 100644 --- a/src/com/google/javascript/jscomp/TypeCheck.java +++ b/src/com/google/javascript/jscomp/TypeCheck.java @@ -1074,7 +1074,9 @@ private void visitAssign(NodeTraversal t, Node assign) { } } - checkCanAssignToWithScope(t, assign, lvalue, getJSType(rvalue), "assignment"); + JSType rightType = getJSType(rvalue); + checkCanAssignToWithScope(t, assign, lvalue, rightType, "assignment"); + ensureTyped(assign, rightType); } /** @@ -1115,14 +1117,9 @@ private void checkCanAssignToWithScope( leftType = var.getType(); } } - } + } // Fall through case for arbitrary LHS and arbitrary RHS. - // Fall through case for arbitrary LHS and arbitrary RHS. - if (validator.expectCanAssignTo(t, assign, rightType, leftType, msg)) { - ensureTyped(assign, rightType); - } else { - ensureTyped(assign); - } + validator.expectCanAssignTo(t, assign, rightType, leftType, msg); } private void checkPropCreation(NodeTraversal t, Node lvalue) {