Current File : //proc/self/root/kunden/usr/share/emacs/27.2/lisp/cedet/semantic/symref.elc |
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301!\210\302\303\304\305\306\307\310\301&\210\311\303!\207" [require semantic custom-declare-variable semantic-symref-tool 'detect "The active symbol reference tool name.\nThe tool symbol can be `detect', or a symbol that is the name of\na tool that can be used for symbol referencing." :type symbol :group make-variable-buffer-local] 8)
#@296 Alist of tools usable by `semantic-symref'.
Each entry is of the form:
( PREDICATE . KEY )
Where PREDICATE is a function that takes a directory name for the
root of a project, and returns non-nil if the tool represented by KEY
is supported.
If no tools are supported, then 'grep is assumed.
(defvar semantic-symref-tool-alist '(((lambda (rootdir) (file-exists-p (expand-file-name "GPATH" rootdir))) . global) ((lambda (rootdir) (file-exists-p (expand-file-name "ID" rootdir))) . idutils) ((lambda (rootdir) (file-exists-p (expand-file-name "cscope.out" rootdir))) . cscope)) (#$ . 765))
#@108 Calculate the root directory for a symref search.
Start with an EDE project, or use the default directory.
(defalias 'semantic-symref-calculate-rootdir #[nil "\304\305!\205\f \205\f \306 \211\203 \307 !\202 \n \2034 \3101) \311 \312\"0\202+ \210\313\2034 \314!\2025 *\207" [ede-minor-mode rootproj default-directory rootdirbase featurep ede ede-toplevel ede-project-root-directory (error) eieio-oref metasubproject nil ede-up-directory] 4 (#$ . 1363)])
#@55 Detect the symref tool to use for the current buffer.
(defalias 'semantic-symref-detect-symref-tool #[nil "\304=\204 \207\305 \n\211\203* \304=\203* @@ !\203# @AA\211\204 \304=\2032 \306*\207" [semantic-symref-tool rootdir semantic-symref-tool-alist tools detect semantic-symref-calculate-rootdir grep] 3 (#$ . 1829)])
#@109 Instantiate a new symref search object.
ARGS are the initialization arguments to pass to the created class.
(defalias 'semantic-symref-instantiate #[(&rest args) "\305\306 !\307\310P!\311\312 !\204 \313\314\"\210\315\316 \f#\211+\207" [srt class inst semantic-symref-tool args symbol-name semantic-symref-detect-symref-tool intern-soft "semantic-symref-tool-" nil class-p error "Unknown symref tool %s" apply make-instance] 5 (#$ . 2170)])
#@36 The last calculated symref result.
(defvar semantic-symref-last-result nil (#$ . 2623))
#@48 Run the last symref data result in Data Debug.
(defalias 'semantic-symref-data-debug-last-result #[nil "\301\302!\210\203 \303\304!\210\305\306\"\207\307\310!\207" [semantic-symref-last-result require eieio-datadebug data-debug-new-buffer "*Symbol Reference ADEBUG*" data-debug-insert-object-slots "]" message "Empty results."] 3 (#$ . 2717) nil])
#@422 Find a list of references to NAME in the current project.
Optional SCOPE specifies which file set to search. Defaults to `project'.
Refers to `semantic-symref-tool', to determine the reference tool to use
for the current buffer.
Returns an object of class `semantic-symref-result'.
TOOL-RETURN is an optional symbol, which will be assigned the tool used
to perform the search. This was added for use by a test harness.
(defalias 'semantic-symref-find-references-by-name #[(name &optional scope tool-return) "\306\307\310\311\312 \206 \313\314\315&\316\n!\f\203 \f\nL\210\211\317\320!\203( \321 \210*\207" [name scope inst result tool-return semantic-symref-last-result semantic-symref-instantiate :searchfor :searchtype symbol :searchscope project :resulttype line semantic-symref-get-result called-interactively-p interactive semantic-symref-data-debug-last-result] 9 (#$ . 3075) "sName: "])
#@278 Find a list of tags by NAME in the current project.
Optional SCOPE specifies which file set to search. Defaults to `project'.
Refers to `semantic-symref-tool', to determine the reference tool to use
for the current buffer.
Returns an object of class `semantic-symref-result'.
(defalias 'semantic-symref-find-tags-by-name #[(name &optional scope) "\305\306\307\310\311 \206 \312\313\314&\315\n!\211\211\316\317!\203 \320 \210*\207" [name scope inst result semantic-symref-last-result semantic-symref-instantiate :searchfor :searchtype tagname :searchscope project :resulttype line semantic-symref-get-result called-interactively-p interactive semantic-symref-data-debug-last-result] 10 (#$ . 3985) "sName: "])
#@284 Find a list of references to NAME in the current project.
Optional SCOPE specifies which file set to search. Defaults to `project'.
Refers to `semantic-symref-tool', to determine the reference tool to use
for the current buffer.
Returns an object of class `semantic-symref-result'.
(defalias 'semantic-symref-find-tags-by-regexp #[(name &optional scope) "\305\306\307\310\311 \206 \312\313\314&\315\n!\211\211\316\317!\203 \320 \210*\207" [name scope inst result semantic-symref-last-result semantic-symref-instantiate :searchfor :searchtype tagregexp :searchscope project :resulttype line semantic-symref-get-result called-interactively-p interactive semantic-symref-data-debug-last-result] 10 (#$ . 4709) "sName: "])
#@284 Find a list of references to NAME in the current project.
Optional SCOPE specifies which file set to search. Defaults to `project'.
Refers to `semantic-symref-tool', to determine the reference tool to use
for the current buffer.
Returns an object of class `semantic-symref-result'.
(defalias 'semantic-symref-find-tags-by-completion #[(name &optional scope) "\305\306\307\310\311 \206 \312\313\314&\315\n!\211\211\316\317!\203 \320 \210*\207" [name scope inst result semantic-symref-last-result semantic-symref-instantiate :searchfor :searchtype tagcompletions :searchscope project :resulttype line semantic-symref-get-result called-interactively-p interactive semantic-symref-data-debug-last-result] 10 (#$ . 5443) "sName: "])
#@284 Find a list of references to NAME in the current project.
Optional SCOPE specifies which file set to search. Defaults to `project'.
Refers to `semantic-symref-tool', to determine the reference tool to use
for the current buffer.
Returns an object of class `semantic-symref-result'.
(defalias 'semantic-symref-find-file-references-by-name #[(name &optional scope) "\305\306\307\310\311 \206 \312\313\314&\315\n!\211\211\316\317!\203 \320 \210*\207" [name scope inst result semantic-symref-last-result semantic-symref-instantiate :searchfor :searchtype regexp :searchscope project :resulttype file semantic-symref-get-result called-interactively-p interactive semantic-symref-data-debug-last-result] 10 (#$ . 6186) "sName: "])
#@334 Find a list of occurrences of TEXT in the current project.
TEXT is a regexp formatted for use with grep -E.
Optional SCOPE specifies which file set to search. Defaults to `project'.
Refers to `semantic-symref-tool', to determine the reference tool to use
for the current buffer.
Returns an object of class `semantic-symref-result'.
(defalias 'semantic-symref-find-text #[(text &optional scope) "\305\306\307\310\311 \206 \312\313\314&\315\n!\211\211\316\317!\203 \320 \210*\207" [text scope inst result semantic-symref-last-result semantic-symref-instantiate :searchfor :searchtype regexp :searchscope project :resulttype line semantic-symref-get-result called-interactively-p interactive semantic-symref-data-debug-last-result] 10 (#$ . 6926) "sGrep -E style Regexp: "])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias semantic-symref-tool-baseclass-p eieio-make-class-predicate semantic-symref-tool-baseclass semantic-symref-tool-baseclass--eieio-childp eieio-make-child-predicate semantic-symref-tool-baseclass-child-p make-obsolete "use (cl-typep ... \\='semantic-symref-tool-baseclass) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal nil ((searchfor :initarg :searchfor :type string :documentation "The thing to search for.") (searchtype :initarg :searchtype :type symbol :documentation "The type of search to do.\nValues could be 'symbol, 'regexp, 'tagname, or 'completion.") (searchscope :initarg :searchscope :type symbol :documentation "The scope to search for.\nCan be 'project, 'target, or 'file.") (resulttype :initarg :resulttype :type symbol :documentation "The kind of search results desired.\nCan be `line', `file', or `tag'.\nThe type of result can be converted from `line' to `file', or `line' to `tag',\nbut not from `file' to `line' or `tag'.")) (:documentation "Baseclass for all symbol references tools.\nA symbol reference tool supplies functionality to identify the locations of\nwhere different symbols are used.\n\nSubclasses should be named `semantic-symref-tool-NAME', where\nNAME is the name of the tool used in the configuration variable\n`semantic-symref-tool'." :abstract t)] 6)
#@74 You cannot create a new object of type `semantic-symref-tool-baseclass'.
(defalias 'semantic-symref-tool-baseclass #[(&rest _) "\300\301!\207" [error "Class semantic-symref-tool-baseclass is abstract"] 2 (#$ . 9186)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\210\300\313\302\314\302\315%\210\316\317\320\321!\"\210\316\322\323\321!\"\210\316\324\322\"\210\325\324\326\327#\210\330\321\331\322#\332\321\302\333\334$\207" [cl-generic-define-method semantic-symref-get-result nil ((tool semantic-symref-tool-baseclass)) #[(tool) "\303!\211\205, \304\305\"\306=\203 \307\202 @;\203 \310\202 \311\312\304\313\"\n \314%))\207" [tool answer answersym semantic-symref-perform-search eieio-oref resulttype file :hit-files :hit-text :hit-lines semantic-symref-result searchfor :created-by] 7 "Calculate the results of a search based on TOOL.\nThe symref TOOL should already contain the search criteria."] semantic-symref-perform-search ((_tool semantic-symref-tool-baseclass)) #[(_tool) "\300\301!\207" [error "Symref tool objects must implement `semantic-symref-perform-search'"] 2 "Base search for symref tools should throw an error."] semantic-symref-parse-tool-output ((tool semantic-symref-tool-baseclass) outputbuffer) #[(tool outputbuffer) "rq\210eb\210\304\211\305!\211\203 \nB\202 \n\237+\207" [outputbuffer hit result tool nil semantic-symref-parse-tool-output-one-line] 2 "Parse the entire OUTPUTBUFFER of a symref tool.\nCalls the method `semantic-symref-parse-tool-output-one-line' over and\nover until it returns nil."] semantic-symref-parse-tool-output-one-line ((_tool semantic-symref-tool-baseclass)) #[(_tool) "\300\301!\207" [error "Symref tool objects must implement `semantic-symref-parse-tool-output-one-line'"] 2 "Base tool output parser is not implemented."] defalias semantic-symref-result-p eieio-make-class-predicate semantic-symref-result semantic-symref-result--eieio-childp eieio-make-child-predicate semantic-symref-result-child-p make-obsolete "use (cl-typep ... \\='semantic-symref-result) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal ((created-by :initarg :created-by :type semantic-symref-tool-baseclass :documentation "Back-pointer to the symref tool creating these results.") (hit-files :initarg :hit-files :type list :documentation "The list of files hit.") (hit-text :initarg :hit-text :type list :documentation "If the result doesn't provide full lines, then fill in hit-text.\nGNU Global does completion search this way.") (hit-lines :initarg :hit-lines :type list :documentation "The list of line hits.\nEach element is a cons cell of the form (LINE . FILENAME).") (hit-tags :initarg :hit-tags :type list :documentation "The list of tags with hits in them.\nUse the `semantic-symref-hit-tags' method to get this list.")) (:documentation "The results from a symbol reference search.")] 6)
#@61 Create a new object of class type `semantic-symref-result'.
(defalias 'semantic-symref-result #[(&rest slots) "\301\302\303#\207" [slots apply make-instance semantic-symref-result] 4 (#$ . 12122)])
(byte-code "\300\301\302\303#\300\207" [function-put semantic-symref-result compiler-macro semantic-symref-result--anon-cmacro] 4)
(defalias 'semantic-symref-result--anon-cmacro #[(whole &rest slots) "@;\204 \207\302\303\304@ @# @\305@DABB\"\207" [slots whole macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5])
(cl-generic-define-method 'semantic-symref-result-get-files nil '((result semantic-symref-result)) nil #[(result) "\306\307\"\203\f \310\307\"\207\310\311\"\312\313 \"\314\n@C\nA\211\314\211\203<