%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/cedet/semantic/
Upload File :
Create Path :
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<
@\211@\230\2045\fB
A\211\204'*\315\307\237#+\207" [result lines files ans F --dolist-tail-- slot-boundp hit-files eieio-oref hit-lines mapcar #[(a) "A\207" [a] 1] nil eieio-oset] 5 "Get the list of files from the symref result RESULT."])
#@62 List of buffers opened by `semantic-symref-result-get-tags'.
(defvar semantic-symref-recently-opened-buffers nil (#$ . 13136))
#@238 Hook function to be used in `post-command-hook' to cleanup buffers.
Buffers collected during symref can result in some files being
opened multiple times for one operation.  This will keep buffers open
until the next command is executed.
(defalias 'semantic-symref-cleanup-recent-buffers-fcn #[nil "\301\302\"\210\303\304\305\306\"\207" [semantic-symref-recently-opened-buffers mapc #[(buff) "\301!?\205\n\302!\207" [buff get-buffer-window kill-buffer] 2] nil remove-hook post-command-hook semantic-symref-cleanup-recent-buffers-fcn] 3 (#$ . 13270)])
(cl-generic-define-method 'semantic-symref-result-get-tags nil '((result semantic-symref-result) &optional open-buffers) nil #[(result &optional open-buffers) "\306\307\"\203\310\307\"\203\310\307\"\207\310\311\"\310\211\312\"\313\"\310\211\312\"\303\"\314\211\212\315\316
\")\204@\317\320\321\"\210\202C\314\n\314\211\203\252@\211\203g\322	@\"\204g	B\202\241\203\241\323	@\324\325\3268)\"*\324\325\3268)\"*\"\327	@\324
#\210)A\211\204M*\330\307	\237#-\207" [result out ans searchtype txt lines slot-boundp hit-tags eieio-oref hit-lines created-by searchfor nil mapcar #[(hit) "\304	\n$\207" [hit txt searchtype open-buffers semantic-symref-hit-to-tag-via-buffer] 5] add-hook post-command-hook semantic-symref-cleanup-recent-buffers-fcn semantic-equivalent-tag-p append :hit plist-get 3 semantic--tag-put-property eieio-oset open-buffers semantic-symref-recently-opened-buffers T --dolist-tail-- property tag] 7 "Get the list of tags from the symref result RESULT.\nOptional OPEN-BUFFERS indicates that the buffers that the hits are\nin should remain open after scanning.\nNote: This can be quite slow if most of the hits are not in buffers\nalready."])
#@337 Convert the symref HIT into a TAG by looking up the tag via a database.
Return the Semantic tag associated with HIT.
SEARCHTXT is the text that is being searched for.
Used to narrow the in-buffer search.
SEARCHTYPE is the type of search (such as 'symbol or 'tagname).
If there is no database, or if the searchtype is wrong, return nil.
(defalias 'semantic-symref-hit-to-tag-via-db #[(hit searchtxt searchtype) "\306>\205\321	A\307\n\310\"\311\267\202\276\f\312!\313\211\203A@\211@)\230\2038@BA\211\204\"\237+\202\277\f\312!\313\211\203v\314@\211@)\"\203m@BA\211\204V\237+\202\277G\312!\313\211\203\267\315\316\313@\211@)\316\f&\310=\203\256@BA\211\204\216\237+\202\277\313\313G\317U\203\317@	,\207" [searchtype hit file db semantic-case-fold case-fold-search (tagname tagregexp tagcompletions) semanticdb-file-table-object t #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (tagname 20 tagregexp 72 tagcompletions 125)) semantic-something-to-tag-table nil string-match compare-strings 0 1 result tags searchtxt tag l found] 9 (#$ . 15063)])
#@681 Convert the symref HIT into a TAG by looking up the tag via a buffer.
Return the Semantic tag associated with HIT.
SEARCHTXT is the text that is being searched for.
Used to narrow the in-buffer search.
SEARCHTYPE is the type of search (such as 'symbol or 'tagname).
Optional OPEN-BUFFERS, when nil will use a faster version of
`find-file' when a file needs to be opened.  If non-nil, then
normal buffer initialization will be used.
This function will leave buffers loaded from a file open, but
will add buffers that must be opened to `semantic-symref-recently-opened-buffers'.
Any caller MUST deal with that variable, either clearing it, or deleting the
buffers that were opened.
(defalias 'semantic-symref-hit-to-tag-via-buffer #[(hit searchtxt searchtype &optional open-buffers) "@A\306\n!\307\203q\210\2029
\203%\310\311\n\312\")\202)\313\n\312\"\211q\210B\314 \210)eb\210	Sy\210\315\316>\203M\202Q\317!\320 \312#\203\\\321\224b\210\322 \323=\203x\f\211@)\230\203x\324 \206w\f\f\203\211\325\f\307\312#\326\f\327	C#\210\f,\207" [hit line file buff tag open-buffers find-buffer-visiting nil never find-file-noselect t semantic-find-file-noselect semantic-fetch-tags re-search-forward (regexp tagregexp) regexp-quote point-at-eol 0 semantic-current-tag symbol semantic-current-tag-parent semantic-tag-copy semantic--tag-put-property :hit ede-auto-add-method kbuff semantic-symref-recently-opened-buffers searchtype searchtxt] 5 (#$ . 16252)])
(provide 'semantic/symref)

Zerion Mini Shell 1.0