diff options
author | Rich Trott <rtrott@gmail.com> | 2016-05-15 10:01:44 -0700 |
---|---|---|
committer | Rich Trott <rtrott@gmail.com> | 2016-05-19 22:08:30 -0700 |
commit | 21b53fe0125caaf16025f2b90624a882f49375f0 (patch) | |
tree | 9a1c1946e72548eabad195cd5e84eada3ce5d199 /tools/eslint-rules | |
parent | 37a5a1c497572353d7a069e07ea2305af941d9cf (diff) | |
download | android-node-v8-21b53fe0125caaf16025f2b90624a882f49375f0.tar.gz android-node-v8-21b53fe0125caaf16025f2b90624a882f49375f0.tar.bz2 android-node-v8-21b53fe0125caaf16025f2b90624a882f49375f0.zip |
tools: disallow deprecated define getter/setter
PR-URL: https://github.com/nodejs/node/pull/6774
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Refs: https://github.com/nodejs/node/pull/6768
Diffstat (limited to 'tools/eslint-rules')
-rw-r--r-- | tools/eslint-rules/no-definegetter-definesetter.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tools/eslint-rules/no-definegetter-definesetter.js b/tools/eslint-rules/no-definegetter-definesetter.js new file mode 100644 index 0000000000..3de010f47f --- /dev/null +++ b/tools/eslint-rules/no-definegetter-definesetter.js @@ -0,0 +1,32 @@ +/** + * @fileoverview Rule to flag usage of __defineGetter__ and __defineSetter__ + * @author Rich Trott + */ + +'use strict'; + +//------------------------------------------------------------------------------ +// Rule Definition +//------------------------------------------------------------------------------ + +module.exports = { + create: function(context) { + const disallowed = ['__defineGetter__', '__defineSetter__']; + + return { + MemberExpression: function(node) { + var prop; + if (node.property) { + if (node.property.type === 'Identifier' && !node.computed) { + prop = node.property.name; + } else if (node.property.type === 'Literal') { + prop = node.property.value; + } + if (disallowed.includes(prop)) { + context.report(node, `The ${prop} property is deprecated.`); + } + } + } + }; + } +}; |