403Webshell
Server IP : 217.160.0.212  /  Your IP : 216.73.216.247
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 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/analyze/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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



(require 'semantic)
#@262 Split a tag NAME into a sequence.
Sometimes NAMES are gathered from the parser that are compounded,
such as in C++ where foo::bar means:
  "The class BAR in the namespace FOO."
Return the string NAME for no change, or a list if it needs to be split.

(fn NAME)
(defalias 'semantic-analyze-split-name #[257 "\303\211\304\305\306!\304\204\"\211\262\204\"	\262\n\205 \307\n\"\262\203M\211\204M\302N\203<\307\302N\"\211\262\204\"\211\310N\206F\211\311N\262\262\202\"\266\203\211\262\205a\211\203_N\205aJ\266\203\206\326\211\211\312N\262\205\326\211\211\312N\262\304\305\306!\304\204\225\211\262\204\225	\262\n\205\223\307\n\"\262\203\300\211\204\300\302N\203\257\307\302N\"\211\262\204\225\211\310N\206\271\211\311N\262\262\202\225\266\203\211\262\205\324\211\203\322N\205\324J\266\203\262\211\203\340\211!\207\313!\207" [mode-local-active-mode major-mode mode-local-symbol-table semantic-analyze-split-name nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-analyze-split-name-default] 13 (#$ . 105)])
(put 'semantic-analyze-split-name 'mode-local-overload t)
#@44 Don't split up NAME by default.

(fn NAME)
(defalias 'semantic-analyze-split-name-default #[257 "\207" [] 2 (#$ . 1310)])
#@130 Assemble a NAMELIST into a string representing a compound name.
Return the string representing the compound name.

(fn NAMELIST)
(defalias 'semantic-analyze-unsplit-name #[257 "\303\211\304\305\306!\304\204\"\211\262\204\"	\262\n\205 \307\n\"\262\203M\211\204M\302N\203<\307\302N\"\211\262\204\"\211\310N\206F\211\311N\262\262\202\"\266\203\211\262\205a\211\203_N\205aJ\266\203\206\326\211\211\312N\262\205\326\211\211\312N\262\304\305\306!\304\204\225\211\262\204\225	\262\n\205\223\307\n\"\262\203\300\211\204\300\302N\203\257\307\302N\"\211\262\204\225\211\310N\206\271\211\311N\262\262\202\225\266\203\211\262\205\324\211\203\322N\205\324J\266\203\262\211\203\340\211!\207\313!\207" [mode-local-active-mode major-mode mode-local-symbol-table semantic-analyze-unsplit-name nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-analyze-unsplit-name-default] 13 (#$ . 1439)])
(put 'semantic-analyze-unsplit-name 'mode-local-overload t)
#@68 Concatenate the names in NAMELIST with a . between.

(fn NAMELIST)
(defalias 'semantic-analyze-unsplit-name-default #[257 "\300\301\302#\207" [mapconcat identity "."] 5 (#$ . 2521)])
#@454 For a SEQUENCE of tags, all with good names, pick the best one.
If SEQUENCE is made up of namespaces, merge the namespaces together.
If SEQUENCE has several prototypes, find the non-prototype.
If SEQUENCE has some items w/ no type information, find the one with a type.
If SEQUENCE is all prototypes, or has no prototypes, get the first one.
Optional TAGCLASS indicates to restrict the return to only
tags of TAGCLASS.

(fn SEQUENCE &optional TAGCLASS)
(defalias 'semantic-analyze-select-best-tag #[513 "\3001.\211:\205(\211@;\205(\211A@9\205(\211A@\205(\3018<\205(\3028<0\262\2022\210\303\262\2039C\262\211\203d\304!\303\203^@\211A@\262=\203W@B\262A\262\202A\211\237\266\202\262G\301W\203n@\207\305\306!\210\307\303\"\262G\301W\203\202@\207\303\211\204\260\203\260@\211\310\311\3018\262\"\266\203\204\245@\262\202\251@\262A\262\202\204\206\265\211\207" [(error) 2 3 nil semantic-something-to-tag-table require semantic/db-typecache semanticdb-typecache-merge-streams :type plist-get] 11 (#$ . 2712)])
#@164 Attempt to find a tag with PREFIX.
This is a wrapper on top of semanticdb, and semantic search functions.
Almost all searches use the same arguments.

(fn PREFIX)
(defalias 'semantic-analyze-find-tags-by-prefix #[257 "\301\302!\203\302 \203\303\304!\305\"\207\211G\306p!\307\203>\310\311\307@\211@\262\311&\312=\2037@B\262A\262\202\211\237\207" [semantic-case-fold fboundp semanticdb-minor-mode-p semanticdb-strip-find-results semanticdb-find-tags-for-completion name semantic-something-to-tag-table nil compare-strings 0 t] 12 (#$ . 3779)])
#@598 Return a concrete type tag based on input TYPE tag.
A concrete type is an actual declaration of a memory description,
such as a structure, or class.  A meta type is an alias,
or a typedef in C or C++.  If TYPE is concrete, it
is returned.  If it is a meta type, it will return the concrete
type defined by TYPE.
The default behavior always returns TYPE.
Override functions need not return a real semantic tag.
Just a name, or short tag will be ok.  It will be expanded here.
SCOPE is the scope object with additional items in which to search for names.

(fn TYPE SCOPE &optional TYPE-DECLARATION)
(defalias 'semantic-analyze-dereference-metatype #[770 "\3032\377\304\211\305\306\307!\305\204&\211\262\204&	\262\n\205$\310\n\"\262\203Q\211\204Q\302N\203@\310\302N\"\211\262\204&\211\311N\206J\211\312N\262\262\202&\266\203\211\262\205e\211\203cN\205eJ\266\203\206\332\211\211\313N\262\205\332\211\211\313N\262\305\306\307!\305\204\231\211\262\204\231	\262\n\205\227\310\n\"\262\203\304\211\204\304\302N\203\263\310\302N\"\211\262\204\231\211\311N\206\275\211\312N\262\262\202\231\266\203\211\262\205\330\211\203\326N\205\330J\266\203\262\211\203\350\211#\202\356\314\303D\"\262\211@A@\315\"D\266\2030\207" [mode-local-active-mode major-mode mode-local-symbol-table default-behavior semantic-analyze-dereference-metatype nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete throw semantic-analyze-dereference-metatype-1] 15 (#$ . 4350)])
(put 'semantic-analyze-dereference-metatype 'mode-local-overload t)
#@126 Get the name of TAG's type.
The TYPE field in a tag can be nil (return nil)
or a string, or a non-positional tag.

(fn TYPE)
(defalias 'semantic-analyze-type-to-name #[257 "\211\3001.\211:\205(\211@;\205(\211A@9\205(\211A@\205(\3018<\205(\3028<0\262\2022\210\303\262\203a\211\211\304\305\3018\262\"\266\203\203]\306\211\304\305\3018\262\"\266\203\211@\262D!\207\211\211@\207\211;\203g\207\211<\203o\211@\207\303\207" [(error) 2 3 nil :parent plist-get semantic-analyze-unsplit-name] 9 (#$ . 6003)])
#@407 Return the semantic tag for a type within the type of TAG.
TAG can be a variable, function or other type of tag.
The behavior of TAG's type is defined by `semantic-analyze-type'.
Optional SCOPE represents a calculated scope in which the
types might be found.  This can be nil.
If NOMETADEREF, then do not dereference metatypes.  This is
used by the analyzer debugger.

(fn TAG &optional SCOPE NOMETADEREF)
(defalias 'semantic-analyze-tag-type #[769 "\300\211\301\302\3038\262\"\266\203#\207" [semantic-analyze-type :type plist-get 2] 11 (#$ . 6535)])
#@510 Return the semantic tag for TYPE-DECLARATION.
TAG can be a variable, function or other type of tag.
The type of tag (such as a class or struct) is a name.
Lookup this name in database, and return all slots/fields
within that types field.  Also handles anonymous types.
Optional SCOPE represents a calculated scope in which the
types might be found.  This can be nil.
If NOMETADEREF, then do not dereference metatypes.  This is
used by the analyzer debugger.

(fn TYPE-DECLARATION &optional SCOPE NOMETADEREF)
(defalias 'semantic-analyze-type #[769 "\300\301!\210\302\211\203a\30318\211:\2052\211@;\2052\211A@9\2052\211A@\2052\3048<\2052\3058<0\262\202<\210\302\262\203a\306\211A@\262=\266\202\203a\307!\204a\203Z\207\310#\207\311!\262\203\210\312\230\204\210\205z\313\306#\262\211\204\222\314!\262\202\222\315\316\211@\262\"\210\211:\203\323\211@\3031\306\211:\205\300\211@;\205\300\211A@9\205\300\211A@\205\300\3048<\205\300\3058<0\262\202\312\210\302\262\203\323\317\306\"\262\203\330\207\320\321\"\216\322\323!\"\210\310#)\207" [require semantic/scope nil (error) 2 3 type semantic-tag-prototype-p semantic-analyze-dereference-metatype-stack semantic-analyze-type-to-name "" semantic-scope-find semanticdb-typecache-find error "Semantic tag %S has no type information" semantic-analyze-select-best-tag make-closure #[0 "\301\300\302\"\207" [V0 semantic-scope-set-typecache nil] 3] semantic-scope-set-typecache semantic-scope-tag-get-scope] 9 (#$ . 7100)])
(autoload 'semantic-tag-similar-p "semantic/tag-ls")
#@296 Dereference metatypes repeatedly until we hit a real TYPE.
Uses `semantic-analyze-dereference-metatype'.
Argument SCOPE is the scope object with additional items in which to search.
Optional argument TYPE-DECLARATION is how TYPE was found referenced.

(fn TYPE SCOPE &optional TYPE-DECLARATION)
(defalias 'semantic-analyze-dereference-metatype-stack #[770 "\300#\301\3022F\205E\303@\"?\205E@\262A@\262\300#\262\211T\262\211\304V\203\f\305\306\211@\262\"\210\307\302\310\"\210\202\f0\210\207" [semantic-analyze-dereference-metatype 0 metatype-recursion semantic-tag-similar-p 20 message "Possible metatype recursion for %S" throw nil] 11 (#$ . 8691)])
#@143 Do extra work after dereferencing a metatype.
ANS is the answer from the language specific query.
SCOPE is the current scope.

(fn ANS SCOPE)
(defalias 'semantic-analyze-dereference-metatype-1 #[514 "\300\301!\210;\203)\211\203\302\303#\242\206\230\304\305!\211\262\203(\306\307!\"\210\207\3101W\211:\205Q\211@;\205Q\211A@9\205Q\211A@\205Q\3118<\205Q\3128<0\262\202[\210\304\262\205\230\211A@\262\303=\205\230\313!\203\227\211\203\200\302\211@\262\303#\242\206\230\304\305\211@\262!\211\262\203\226\306\307!\"\210\207\207" [require semantic/scope semantic-scope-find type nil semanticdb-typecache-find semantic-scope-set-typecache semantic-scope-tag-get-scope (error) 2 3 semantic-tag-prototype-p] 8 (#$ . 9375)])
(provide 'semantic/analyze/fcn)

Youez - 2016 - github.com/yon3zu
LinuXploit