Skip to content

Commit 782ae7d

Browse files
committed
Make compound assignment operators (+= etc) fail validation.
1 parent d46b695 commit 782ae7d

2 files changed

Lines changed: 9 additions & 0 deletions

File tree

lib/validate.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -794,6 +794,7 @@ Vp.expression = function expression(e) {
794794

795795
when({
796796
type: 'AssignmentExpression',
797+
operator: '=',
797798
left: match.var('left', { type: match.some('Identifier', 'MemberExpression') }),
798799
right: match.var('right')
799800
}, function(vars) {

test/index.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,3 +354,11 @@ exports.testForWithoutUpdate = asmAssert.one(
354354
}
355355
},
356356
{ pass: true });
357+
358+
exports.testCompoundAssignment = asmAssert.one(
359+
"compound assignment operations such as += are disallowed",
360+
function f() {
361+
var x = 0;
362+
x += 1;
363+
},
364+
{ pass: false });

0 commit comments

Comments
 (0)