;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\301\302!\210\303\300!\210\304\305\306\304\307\310\311\312\313\314\315& \210\305\316\317\320\310\321\314\315&\210\305\322\323\324\310\325\314\315&\207" [lexical-binding require scala-mode-syntax make-local-variable t custom-declare-variable scala-imenu:should-flatten-index "Controls whether or not the imenu index is flattened or hierarchical." :type boolean :safe booleanp :group scala scala-imenu:build-imenu-candidate 'scala-imenu:default-build-imenu-candidate "Controls whether or not the imenu index has definition type information." function scala-imenu:cleanup-hooks nil "Functions that will be run after the construction of each imenu" hook] 10) (defalias 'scala-imenu:flatten-list #[(incoming-list &optional predicate) "\204\302\303\304 \"\207" [predicate incoming-list listp cl-mapcan #[(x) " !\203 \302 \"\207 C\207" [predicate x scala-imenu:flatten-list] 3]] 3]) (defalias 'scala-imenu:flatten-imenu-index #[(index) "\301\302\"\207" [index cl-mapcan #[(x) "A<\203 \301A!\207C\207" [x scala-imenu:flatten-imenu-index] 2]] 3]) (defalias 'scala-imenu:create-imenu-index #[nil "\305\306\307 \" \310\211\203 @\211 \210 A\211\204*\f\203&\311!\202')\207" [imenu-index scala-imenu:cleanup-hooks cleanup-hook --dolist-tail-- scala-imenu:should-flatten-index cl-mapcar scala-imenu:build-imenu-candidates scala-imenu:create-index nil scala-imenu:flatten-imenu-index] 4]) (defalias 'scala-imenu:build-imenu-candidates #[(member-info &optional parents) "@<\2030@A\306 \"\211@\n\203-\307\310 C\"A\" \f )BB\202.\f,\207\306 \"\207" [member-info current-member-info child-member-infos parents current-member-result current-member-name scala-imenu:destructure-for-build-imenu-candidate scala-imenu:build-child-members append current-member-members] 5]) (defalias 'scala-imenu:build-child-members #[(parents child-members) "\301\302\"\207" [child-members cl-mapcar #[(child) "\302 \"\207" [child parents scala-imenu:build-imenu-candidates] 3]] 3]) (defalias 'scala-imenu:destructure-for-build-imenu-candidate #[(member-info parents) "\211\211A\242 \211A\242 \242 \n \f$,\207" [member-info #1=#:--cl-rest-- member-name definition-type marker scala-imenu:build-imenu-candidate parents] 6]) (defalias 'scala-imenu:default-build-imenu-candidate #[(member-name definition-type marker parents) "\306\307\310\" C\"\311\312\n\313#\314\315\f # *B\207" [parents member-name all-names member-string definition-type marker append cl-mapcar #[(parent) "@\207" [parent] 1] mapconcat identity "." format "(%s)%s"] 4]) (defalias 'scala-imenu:create-index #[nil "\302\211db\210\303 \211\203 B\202*\207" [index class nil scala-imenu:parse-nested-from-end] 2]) (defalias 'scala-imenu:parse-nested-from-end #[nil "`\304\211\305 \210`\n=?\205$\306 !\210\307\310!\307\311! \312 E\313 B+\207" [definition-type class-name last-point scala-syntax:all-definition-re nil scala-syntax:beginning-of-definition looking-at match-string-no-properties 2 1 point-marker scala-imenu:nested-members] 3]) (defalias 'scala-imenu:parse-nested-from-beginning #[nil "\300 \210\301 \207" [scala-syntax:end-of-definition scala-imenu:parse-nested-from-end] 1]) (defalias 'scala-imenu:nested-members #[nil "`\212\301 \210\302u\210\303\304!!*\207" [start-point scala-syntax:end-of-definition -1 reverse scala-imenu:get-nested-members] 3]) (defvar scala-imenu:nested-definition-types '("class" "object" "trait")) (defalias 'scala-imenu:get-nested-members #[(parent-start-point) "\301 \210`W\205\302 \303!B\207" [parent-start-point scala-syntax:beginning-of-definition scala-imenu:get-member-info-at-point scala-imenu:get-nested-members] 3]) (defalias 'scala-imenu:get-member-info-at-point #[nil "\304!\210\305\306!\305\307!\211 \235\203\212\310 )\202 \n\311 E*\207" [scala-syntax:all-definition-re member-name definition-type scala-imenu:nested-definition-types looking-at match-string-no-properties 2 1 scala-imenu:parse-nested-from-beginning point-marker] 4]) (provide 'scala-mode-imenu)