403Webshell
Server IP : 217.160.0.212  /  Your IP : 216.73.216.141
Web Server : Apache
System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64
User : sws1073854427 ( 1073854427)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/share/emacs/28.2/lisp/cedet/semantic/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/28.2/lisp/cedet/semantic/symref.elc
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



(byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\301&\210\313\303!\207" [require semantic custom-declare-variable semantic-symref-tool funcall function #[0 "\300\207" [detect] 1 ""] "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)) (#$ . 490))
#@108 Calculate the root directory for a symref search.
Start with an EDE project, or use the default directory.
(defalias 'semantic-symref-calculate-rootdir #[0 "\302\303!\205\f\205\f\304 \211\203\305!\202	\2030\3061'\307\310\"0\202)\210\311\2030\312!\207\207" [ede-minor-mode default-directory featurep ede ede-toplevel ede-project-root-directory (error) eieio-oref metasubproject nil ede-up-directory] 5 (#$ . 1088)])
#@55 Detect the symref tool to use for the current buffer.
(defalias 'semantic-symref-detect-symref-tool #[0 "\302=\204\207\303 	\211\203(\302=\203(\211@@!\203!\211@A\211A\262\202\302=\2030\304\207" [semantic-symref-tool semantic-symref-tool-alist detect semantic-symref-calculate-rootdir grep] 4 (#$ . 1524)])
#@126 Instantiate a new symref search object.
ARGS are the initialization arguments to pass to the created class.

(fn &rest ARGS)
(defalias 'semantic-symref-instantiate #[128 "\301\302 !\303\304P!\305\306!\204\307\310\"\210\311\312#\207" [semantic-symref-tool symbol-name semantic-symref-detect-symref-tool intern-soft "semantic-symref-tool-" nil class-p error "Unknown symref tool %s" apply make-instance] 8 (#$ . 1854)])
#@36 The last calculated symref result.
(defvar semantic-symref-last-result nil (#$ . 2286))
#@48 Run the last symref data result in Data Debug.
(defalias 'semantic-symref-data-debug-last-result #[0 "\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 (#$ . 2380) nil])
#@461 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.

(fn NAME &optional SCOPE TOOL-RETURN)
(defalias 'semantic-symref-find-references-by-name #[769 "\301\302\303\304\305\206\f\306\307\310&\311!\203L\210\211\211\312\313!\203'\314 \210\207" [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] 12 (#$ . 2736) "sName: "])
#@305 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'.

(fn NAME &optional SCOPE)
(defalias 'semantic-symref-find-tags-by-name #[513 "\301\302\303\304\305\206\f\306\307\310&\311!\211\211\312\313!\203\314 \210\207" [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] 11 (#$ . 3618) "sName: "])
#@311 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'.

(fn NAME &optional SCOPE)
(defalias 'semantic-symref-find-tags-by-regexp #[513 "\301\302\303\304\305\206\f\306\307\310&\311!\211\211\312\313!\203\314 \210\207" [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] 11 (#$ . 4325) "sName: "])
#@311 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'.

(fn NAME &optional SCOPE)
(defalias 'semantic-symref-find-tags-by-completion #[513 "\301\302\303\304\305\206\f\306\307\310&\311!\211\211\312\313!\203\314 \210\207" [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] 11 (#$ . 5042) "sName: "])
#@311 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'.

(fn NAME &optional SCOPE)
(defalias 'semantic-symref-find-file-references-by-name #[513 "\301\302\303\304\305\206\f\306\307\310&\311!\211\211\312\313!\203\314 \210\207" [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] 11 (#$ . 5768) "sName: "])
#@361 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'.

(fn TEXT &optional SCOPE)
(defalias 'semantic-symref-find-text #[513 "\301\302\303\304\305\206\f\306\307\310&\311!\211\211\312\313!\203\314 \210\207" [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] 11 (#$ . 6491) "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)
#@88 You cannot create a new object of type `semantic-symref-tool-baseclass'.

(fn &rest _)
(defalias 'semantic-symref-tool-baseclass #[128 "\300\301!\207" [error "Class semantic-symref-tool-baseclass is abstract"] 3 (#$ . 8734)])
(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)) #[257 "\300!\211\205,\301\302\"\303=\203\304\202\211@;\203\305\202\306\307\301\310\"\311%\262\207" [semantic-symref-perform-search eieio-oref resulttype file :hit-files :hit-text :hit-lines semantic-symref-result searchfor :created-by] 9 "Calculate the results of a search based on TOOL.\nThe symref TOOL should already contain the search criteria.\n\n(fn TOOL)"] semantic-symref-perform-search ((_tool semantic-symref-tool-baseclass)) #[257 "\300\301!\207" [error "Symref tool objects must implement `semantic-symref-perform-search'"] 3 "Base search for symref tools should throw an error.\n\n(fn TOOL)"] semantic-symref-parse-tool-output ((tool semantic-symref-tool-baseclass) outputbuffer) #[514 "r\211q\210eb\210\300\211\301!\211\262\203\211B\262\202	\237\266\202)\207" [nil semantic-symref-parse-tool-output-one-line] 6 "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.\n\n(fn TOOL OUTPUTBUFFER)"] semantic-symref-parse-tool-output-one-line ((_tool semantic-symref-tool-baseclass)) #[257 "\300\301!\207" [error "Symref tool objects must implement `semantic-symref-parse-tool-output-one-line'"] 3 "Base tool output parser is not implemented.\n\n(fn TOOL)"] 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)
#@79 Create a new object of class type `semantic-symref-result'.

(fn &rest SLOTS)
(defalias 'semantic-symref-result #[128 "\300\301\302#\207" [apply make-instance semantic-symref-result] 5 (#$ . 11687)])
(byte-code "\300\301\302\303#\300\207" [function-put semantic-symref-result compiler-macro semantic-symref-result--anon-cmacro] 4)
#@26 

(fn WHOLE &rest SLOTS)
(defalias 'semantic-symref-result--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 12025)])
(cl-generic-define-method 'semantic-symref-result-get-files nil '((result semantic-symref-result)) nil #[257 "\300\301\"\203\f\302\301\"\207\302\303\"\304\305\"\306@C\262A\262\211\2038\211@\211@\230\2041\211B\262A\266\202\202\210\307\301\237#\207" [slot-boundp hit-files eieio-oref hit-lines mapcar #[257 "\211A\207" [] 2 "\n\n(fn A)"] nil eieio-oset] 8 "Get the list of files from the symref result RESULT.\n\n(fn RESULT)"])
#@62 List of buffers opened by `semantic-symref-result-get-tags'.
(defvar semantic-symref-recently-opened-buffers nil (#$ . 12712))
#@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 #[0 "\301\302\"\210\303\304\305\306\"\207" [semantic-symref-recently-opened-buffers mapc #[257 "\300!?\205\n\301!\207" [get-buffer-window kill-buffer] 3 "\n\n(fn BUFF)"] nil remove-hook post-command-hook semantic-symref-cleanup-recent-buffers-fcn] 3 (#$ . 12846)])
(cl-generic-define-method 'semantic-symref-result-get-tags nil '((result semantic-symref-result) &optional open-buffers) nil #[513 "\301\302\"\203\303\302\"\203\303\302\"\207\303\304\"\303\211\305\"\306\"\303\211\305\"\307\"\310\211\212\311\312\313$\"\262)\204D\314\315\316\"\210\202F\310\211\203\221\211@\211\203a\317@\"\204a\211B\262\202\212\211\203\212\320@\321\322\3238\262\"\266\202\321\322\3238\262\"\266\202\"\324@\321#\266A\266\202\202G\210\325\302\237#\207" [semantic-symref-recently-opened-buffers slot-boundp hit-tags eieio-oref hit-lines created-by searchfor searchtype nil mapcar make-closure #[257 "\303\301\302\300$\207" [V0 V1 V2 semantic-symref-hit-to-tag-via-buffer] 6 "\n\n(fn HIT)"] 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] 17 "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.\n\n(fn RESULT &optional OPEN-BUFFERS)"])
#@368 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.

(fn HIT SEARCHTXT SEARCHTYPE)
(defalias 'semantic-symref-hit-to-tag-via-db #[771 "\211\302>\205\255A\303\304\"\305\267\202\236\306!\307\2034@\211@\262\230\203-@B\262A\262\202\211\237\266\202)\202\237\306!\307\203`\310@\211@\262\"\203Y@B\262A\262\202B\211\237\266\202)\202\237G\306!\307\203\225\311\312\307@\211@\262\312&\304=\203\216@B\262A\262\202n\211\237\266\202\262\202\237\307\307G\313U\203\253@\262\266\203\207" [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 18 tagregexp 60 tagcompletions 104)) semantic-something-to-tag-table nil string-match compare-strings 0 1] 16 (#$ . 14611)])
#@735 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.

(fn HIT SEARCHTXT SEARCHTYPE &optional OPEN-BUFFERS)
(defalias 'semantic-symref-hit-to-tag-via-buffer #[1027 "@A\302!\303\203q\210\202/\203 \304\305\306\")\202$\307\306\"\211q\210\211	B\310 \266eb\210Sy\210\311\312>\203C\202G\313!\314 \306#\203R\315\224b\210\316 \262\317=\203o\211\211@\262\230\203o\320 \206m\211\262\211\203\202\321\303\306#\262\322\323C#\210\207" [ede-auto-add-method semantic-symref-recently-opened-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] 12 (#$ . 15759)])
(provide 'semantic/symref)

Youez - 2016 - github.com/yon3zu
LinuXploit