+(defun js2-search-scope (scope names)
+ "Searches SCOPE for jump location in NAMES."
+ (let (node-init)
+ (ignore-errors
+ (setq node-init (js2-symbol-ast-node (js2-get-symbol-declaration scope (pop names))))
+ (when names
+ (let ((found-node (js2-var-init-node-initializer (js2-node-parent node-init))))
+ (setq node-init nil)
+ (when (js2-object-node-p found-node)
+ (js2-visit-ast
+ found-node
+ (lambda (node endp)
+ (unless endp
+ (when (and (js2-object-prop-node-p node)
+ (string= (car names)
+ (js2-name-node-name (js2-object-prop-node-left node))))
+ (pop names)
+ (unless names (setq node-init node)))
+ t)))))))
+ node-init))
+
+(defun js2-names-left (name-node)