%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/cedet/semantic/ |
Current File : //usr/local/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<