branch: externals/js2-mode
commit 7db4871cf50fab1a1086680ead2c70d1e454be6a
Merge: 392492e e8da0b4
Author: Dmitry Gutov <[email protected]>
Commit: GitHub <[email protected]>
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