branch: externals/js2-mode commit 7db4871cf50fab1a1086680ead2c70d1e454be6a Merge: 392492e e8da0b4 Author: Dmitry Gutov <dgu...@yandex.ru> Commit: GitHub <nore...@github.com>
Merge pull request #519 from lelit/issue518 Issue518 --- js2-mode.el | 3 +++ tests/parser.el | 17 +++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/js2-mode.el b/js2-mode.el index 567d629..d9cea03 100644 --- a/js2-mode.el +++ b/js2-mode.el @@ -7284,6 +7284,9 @@ key of a literal object." ((js2-namespace-import-node-p parent) (setq assigned t used nil)) + ((js2-class-node-p parent) + (setq declared t + assigned t)) (assign-node (setq assigned (memq node (js2--collect-target-symbols diff --git a/tests/parser.el b/tests/parser.el index b1ac42e..88d3dab 100644 --- a/tests/parser.el +++ b/tests/parser.el @@ -1404,6 +1404,23 @@ function foo([var0, {var1}]) { }" '("foo@10:U" "var0@15:P" 43 "var1@22:P" 50)) +(js2-deftest-classify-variables uninitialized-class + "\ +import React from 'react'; +import PropTypes from 'prop-types'; + +class SomeComponent extends React.Component { + render() { + return <div></div>; + } +} + +SomeComponent.propTypes = { +}; + +export default SomeComponent;" + '("React@8:I" 93 "PropTypes@35:U" "SomeComponent@71:I" 163 210)) + ;; Side effects (js2-deftest no-side-effects-at-top-level