summaryrefslogtreecommitdiff
path: root/tools/node_modules/eslint/lib/rules/no-param-reassign.js
diff options
context:
space:
mode:
authorcjihrig <cjihrig@gmail.com>2019-07-21 00:15:32 -0400
committerMichaƫl Zasso <targos@protonmail.com>2019-07-23 08:15:42 +0200
commited43880d6ba1ab6e499ef027c1e9e11a2376ba50 (patch)
treebd9551f12adfd0dc9f333adf306fc92f2417b2ad /tools/node_modules/eslint/lib/rules/no-param-reassign.js
parent302865e8b9756812b45d9ff60403c2a231c01152 (diff)
downloadandroid-node-v8-ed43880d6ba1ab6e499ef027c1e9e11a2376ba50.tar.gz
android-node-v8-ed43880d6ba1ab6e499ef027c1e9e11a2376ba50.tar.bz2
android-node-v8-ed43880d6ba1ab6e499ef027c1e9e11a2376ba50.zip
tools: update ESLint to 6.1.0
Update ESLint to 6.1.0 PR-URL: https://github.com/nodejs/node/pull/28793 Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Diffstat (limited to 'tools/node_modules/eslint/lib/rules/no-param-reassign.js')
-rw-r--r--tools/node_modules/eslint/lib/rules/no-param-reassign.js13
1 files changed, 12 insertions, 1 deletions
diff --git a/tools/node_modules/eslint/lib/rules/no-param-reassign.js b/tools/node_modules/eslint/lib/rules/no-param-reassign.js
index 880ff93cb5..9b8c828d2c 100644
--- a/tools/node_modules/eslint/lib/rules/no-param-reassign.js
+++ b/tools/node_modules/eslint/lib/rules/no-param-reassign.js
@@ -67,7 +67,8 @@ module.exports = {
let node = reference.identifier;
let parent = node.parent;
- while (parent && !stopNodePattern.test(parent.type)) {
+ while (parent && (!stopNodePattern.test(parent.type) ||
+ parent.type === "ForInStatement" || parent.type === "ForOfStatement")) {
switch (parent.type) {
// e.g. foo.a = 0;
@@ -85,6 +86,16 @@ module.exports = {
}
break;
+ // e.g. for (foo.a in b) {}
+ case "ForInStatement":
+ case "ForOfStatement":
+ if (parent.left === node) {
+ return true;
+ }
+
+ // this is a stop node for parent.right and parent.body
+ return false;
+
// EXCLUDES: e.g. cache.get(foo.a).b = 0;
case "CallExpression":
if (parent.callee !== node) {