From aece5a6ca9fd9dfffd9ce5a59392373eb77416aa Mon Sep 17 00:00:00 2001 From: rabbit Date: Wed, 27 Dec 2017 21:54:48 +0800 Subject: [PATCH] Fixed #28 --- js2-mode.el | 7 +++++-- tests/flow.el | 3 +++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/js2-mode.el b/js2-mode.el index e19107d9..89995db9 100644 --- a/js2-mode.el +++ b/js2-mode.el @@ -12966,18 +12966,21 @@ If param-decl-p was t, it will parse continue." (let ((pos (js2-current-token-beg)) (_ (js2-must-match-name "msg.unnamed.type.alias.decl")) (name (js2-create-name-node t)) - type-params) + type-params node) (js2-set-face (js2-node-pos name) (js2-node-end name) 'font-lock-function-name-face 'record) ;; parse type params after name, e.g. type a (when (= (js2-peek-token) js2-LT) (setq type-params (js2-parse-type-params))) (js2-must-match js2-ASSIGN "msg.syntax") + (setq js2-in-type t + node (js2-create-type-node t) + js2-in-type nil) (make-js2-type-alias-node :pos pos :len (- (js2-current-token-end) pos) :name name :type-params type-params - :bindings (js2-create-type-node t)))) + :bindings node))) (defun js2-parse-opaque-type-alias () "Parse type alias declatation, e.g. opaque type a = c" diff --git a/tests/flow.el b/tests/flow.el index bbf0d242..1ea90281 100644 --- a/tests/flow.el +++ b/tests/flow.el @@ -963,6 +963,9 @@ the test." (js2-deftest-parse type-alias "type a = b;") +(js2-deftest-parse type-alias-with-generic-type + "type a = b>>;") + (js2-deftest-parse type-alias-with-type-params "type a = c;")