]> code.delx.au - gnu-emacs-elpa/commitdiff
(js2-imenu-record-hashes): Don't walk the node when `end-p`
authorDmitry Gutov <dgutov@yandex.ru>
Thu, 17 May 2012 20:20:45 +0000 (00:20 +0400)
committerDmitry Gutov <dgutov@yandex.ru>
Thu, 17 May 2012 20:20:45 +0000 (00:20 +0400)
js2-imenu-extras.el

index 7620110e9250f1c7105428a9e07bc7536c1ab7a2..6ee293bab9e9280707b3523748f8bfe1b8b5a5b2 100644 (file)
@@ -109,17 +109,18 @@ in a shared namespace."
   (js2-visit-ast\r
    root\r
    (lambda (node end-p)\r
-     (if (and (js2-object-prop-node-p node)\r
-              (js2-function-node-p (js2-object-prop-node-right node)))\r
-         (let ((fn-node (js2-object-prop-node-right node)))\r
-           (unless (and js2-imenu-function-map\r
-                        (gethash fn-node js2-imenu-function-map))\r
-             (let ((key-node (js2-object-prop-node-left node)))\r
-               (js2-record-imenu-entry fn-node\r
-                                       (list js2-imenu-other-functions-ns\r
-                                             (js2-prop-node-name key-node))\r
-                                       (js2-node-abs-pos key-node))))\r
-           nil)\r
-       t))))\r
+     (unless end-p\r
+       (if (and (js2-object-prop-node-p node)\r
+                (js2-function-node-p (js2-object-prop-node-right node)))\r
+           (let ((fn-node (js2-object-prop-node-right node)))\r
+             (unless (and js2-imenu-function-map\r
+                          (gethash fn-node js2-imenu-function-map))\r
+               (let ((key-node (js2-object-prop-node-left node)))\r
+                 (js2-record-imenu-entry fn-node\r
+                                         (list js2-imenu-other-functions-ns\r
+                                               (js2-prop-node-name key-node))\r
+                                         (js2-node-abs-pos key-node))))\r
+             nil)\r
+         t)))))\r
 \r
 (provide 'js2-imenu-extras)\r