Current File : //kunden/kunden/proc/self/root/usr/share/emacs/27.2/lisp/cedet/semantic/tag.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\300\302!\207" [require semantic/fw semantic/lex] 2)
#@54 Version string of semantic tags made with this code.
(defconst semantic-tag-version "2.0" (#$ . 486))
#@191 Version string of semantic tags which are not currently compatible.
These old style tags may be loaded from a file with semantic db.
In this case, we must flush the old tags and start over.
(defconst semantic-tag-incompatible-version "1.0" (#$ . 595))
#@265 Return the name of TAG.
For functions, variables, classes, typedefs, etc., this is the identifier
that is being defined. For tags without an obvious associated name, this
may be the statement type, e.g., this may return @code{print} for python's
print statement.
(defalias 'semantic-tag-name #[(tag) "@\207" [tag] 1 (#$ . 854)])
(put 'semantic-tag-name 'byte-optimizer 'byte-compile-inline-expand)
#@694 Return the class of TAG.
This is a symbol like `variable', `function', or `type'.
There is no limit to the symbols that may represent the class of a tag.
Each parser generates tags with classes defined by it.
For functional languages, typical tag classes are:
@table @code
@item type
Data types, named map for a memory block.
@item function
A function or method, or named execution location.
@item variable
A variable, or named storage for data.
@item include
Statement that represents a file from which more tags can be found.
@item package
Statement that declares this file's package name.
@item code
Code that has not name or binding to any other symbol, such as in a script.
@end table
(defalias 'semantic-tag-class #[(tag) "A@\207" [tag] 1 (#$ . 1261)])
(put 'semantic-tag-class 'byte-optimizer 'byte-compile-inline-expand)
#@117 Return the list of public attributes of TAG.
That is a property list: (ATTRIBUTE-1 VALUE-1 ATTRIBUTE-2 VALUE-2...).
(defalias 'semantic-tag-attributes #[(tag) "\3018\207" [tag 2] 2 (#$ . 2101)])
(put 'semantic-tag-attributes 'byte-optimizer 'byte-compile-inline-expand)
#@116 Return the list of private properties of TAG.
That is a property list: (PROPERTY-1 VALUE-1 PROPERTY-2 VALUE-2...).
(defalias 'semantic-tag-properties #[(tag) "\3018\207" [tag 3] 2 (#$ . 2379)])
(put 'semantic-tag-properties 'byte-optimizer 'byte-compile-inline-expand)
#@223 Return the OVERLAY part of TAG.
That is, an overlay or an unloaded buffer representation.
This function can also return an array of the form [ START END ].
This occurs for tags that are not currently linked into a buffer.
(defalias 'semantic-tag-overlay #[(tag) "\3018\207" [tag 4] 2 (#$ . 2656)])
(put 'semantic-tag-overlay 'byte-optimizer 'byte-compile-inline-expand)
#@100 Return the cons cell whose car is the OVERLAY part of TAG.
That function is for internal use only.
(defalias 'semantic--tag-overlay-cdr #[(tag) "\301\233\207" [tag 4] 2 (#$ . 3034)])
(put 'semantic--tag-overlay-cdr 'byte-optimizer 'byte-compile-inline-expand)
#@83 Set the overlay part of TAG with OVERLAY.
That function is for internal use only.
(defalias 'semantic--tag-set-overlay #[(tag overlay) "\302\233) \240\207" [tag overlay 4] 2 (#$ . 3301)])
(put 'semantic--tag-set-overlay 'byte-optimizer 'byte-compile-inline-expand)
#@35 Return the start location of TAG.
(defalias 'semantic-tag-start #[(tag) "\3028)\303 !\203 \304 !\202 \305H)\207" [tag o 4 overlayp overlay-start 0] 2 (#$ . 3575)])
(put 'semantic-tag-start 'byte-optimizer 'byte-compile-inline-expand)
#@33 Return the end location of TAG.
(defalias 'semantic-tag-end #[(tag) "\3028)\303 !\203 \304 !\202 \305H)\207" [tag o 4 overlayp overlay-end 1] 2 (#$ . 3822)])
(put 'semantic-tag-end 'byte-optimizer 'byte-compile-inline-expand)
#@56 Return the location (START END) of data TAG describes.
(defalias 'semantic-tag-bounds #[(tag) "\211\3028)\303 !\203 \304 !\202 \305H*\211\3028)\303 !\203. \306 !\2021 \307H*D\207" [tag o 4 overlayp overlay-start 0 overlay-end 1] 4 (#$ . 4061)])
(put 'semantic-tag-bounds 'byte-optimizer 'byte-compile-inline-expand)
#@62 In TAG, set the START and END location of data it describes.
(defalias 'semantic-tag-set-bounds #[(tag start end) "\3058)\306 !\203 \307 \n#\202% \310\n\"\211\305\233)\f\240*)\207" [tag o start end overlay 4 overlayp move-overlay vector] 5 (#$ . 4397)])
#@107 Return the buffer TAG resides in, if tag is already in a buffer.
If a tag is not in a buffer, return nil.
(defalias 'semantic-tag-in-buffer-p #[(tag) "\3028)\303 !\205 \304 !\205 \304 !)\207" [tag o 4 overlayp overlay-buffer] 2 (#$ . 4670)])
#@162 From TAG, extract the value of PROPERTY.
Return the value found, or nil if PROPERTY is not one of the
properties of TAG.
That function is for internal use only.
(defalias 'semantic--tag-get-property #[(tag property) "\302\3038) \"\207" [tag property plist-get 3] 3 (#$ . 4925)])
(put 'semantic--tag-get-property 'byte-optimizer 'byte-compile-inline-expand)
#@171 Return the buffer TAG resides in.
If TAG has an originating file, read that file into a (maybe new)
buffer, and return it.
Return nil if there is no buffer for this tag.
(defalias 'semantic-tag-buffer #[(tag) "\304!\211\203\f \2023 \305\306\3078)\n\"*\2053 \310 \311\216\312\305\306\3078)\n\"*!*)\207" [tag buff property save-match-data-internal semantic-tag-in-buffer-p :filename plist-get 3 match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] find-file-noselect] 5 (#$ . 5292)])
#@312 Return the major mode active for TAG.
TAG defaults to the tag at point in current buffer.
If TAG has a :mode property return it.
If point is inside TAG bounds, return the major mode active at point.
Return the major mode active at beginning of TAG otherwise.
See also the function `semantic-ctxt-current-mode'.
(defalias 'semantic-tag-mode #[(&optional tag) "\204 \306 \307\310\3118) \"*\206n \312!\211\3138)\314\n!\2030 \315\n!\2023 \n\316H*\211\3138)\314\n!\203I \317\n!\202L \n\320H*\212
\203X
q\210`\fY\203d `W\204g \fb\210\321\322!\210\323 ,\207" [tag property o end start buffer semantic-current-tag :mode plist-get 3 semantic-tag-buffer 4 overlayp overlay-start 0 overlay-end 1 require semantic/ctxt semantic-ctxt-current-mode] 5 (#$ . 5834)])
#@103 Return the cons cell whose car is the ATTRIBUTES part of TAG.
That function is for internal use only.
(defalias 'semantic--tag-attributes-cdr #[(tag) "AA\207" [tag] 1 (#$ . 6617)])
(put 'semantic--tag-attributes-cdr 'byte-optimizer 'byte-compile-inline-expand)
#@243 Change value in TAG of ATTRIBUTE to VALUE.
If ATTRIBUTE already exists, its value is set to VALUE, otherwise the
new ATTRIBUTE VALUE pair is added.
Return TAG.
Use this function in a parser when not all attributes are known at the
same time.
(defalias 'semantic-tag-put-attribute #[(tag attribute value) "\211AA)\211:\203 \304\305 @\n#!\240\210)\207" [tag plist-cdr attribute value semantic-tag-make-plist plist-put] 7 (#$ . 6886)])
(put 'semantic-tag-put-attribute 'byte-optimizer 'byte-compile-inline-expand)
#@295 Change value in TAG of ATTRIBUTE to VALUE without side effects.
All cons cells in the attribute list are replicated so that there
are no side effects if TAG is in shared lists.
If ATTRIBUTE already exists, its value is set to VALUE, otherwise the
new ATTRIBUTE VALUE pair is added.
Return TAG.
(defalias 'semantic-tag-put-attribute-no-side-effect #[(tag attribute value) "\211AA)\211:\203 \304\305\306 @!\n#!\240\210)\207" [tag plist-cdr attribute value semantic-tag-make-plist plist-put copy-sequence] 7 (#$ . 7411)])
#@179 From TAG, return the value of ATTRIBUTE.
ATTRIBUTE is a symbol whose specification value to get.
Return the value found, or nil if ATTRIBUTE is not one of the
attributes of TAG.
(defalias 'semantic-tag-get-attribute #[(tag attribute) "\302\3038) \"\207" [tag attribute plist-get 2] 3 (#$ . 7944)])
(put 'semantic-tag-get-attribute 'byte-optimizer 'byte-compile-inline-expand)
#@103 Return the cons cell whose car is the PROPERTIES part of TAG.
That function is for internal use only.
(defalias 'semantic--tag-properties-cdr #[(tag) "\301\233\207" [tag 3] 2 (#$ . 8330)])
(put 'semantic--tag-properties-cdr 'byte-optimizer 'byte-compile-inline-expand)
#@198 Change value in TAG of PROPERTY to VALUE.
If PROPERTY already exists, its value is set to VALUE, otherwise the
new PROPERTY VALUE pair is added.
Return TAG.
That function is for internal use only.
(defalias 'semantic--tag-put-property #[(tag property value) "\304\233)\211:\203 \305\306 @\n#!\240\210)\207" [tag plist-cdr property value 3 semantic-tag-make-plist plist-put] 7 (#$ . 8607)])
#@331 Change value in TAG of PROPERTY to VALUE without side effects.
All cons cells in the property list are replicated so that there
are no side effects if TAG is in shared lists.
If PROPERTY already exists, its value is set to VALUE, otherwise the
new PROPERTY VALUE pair is added.
Return TAG.
That function is for internal use only.
(defalias 'semantic--tag-put-property-no-side-effect #[(tag property value) "\304\233)\211:\203 \305\306\307 @!\n#!\240\210)\207" [tag plist-cdr property value 3 semantic-tag-make-plist plist-put copy-sequence] 7 (#$ . 9012)])
#@244 Return the name of the file from which TAG originated.
Return nil if that information can't be obtained.
If TAG is from a loaded buffer, then that buffer's filename is used.
If TAG is unlinked, but has a :filename property, then that is used.
(defalias 'semantic-tag-file-name #[(tag) "\303!\211\203 \304 !\202 \305\306\3078)\n\"*)\207" [tag buffer property semantic-tag-in-buffer-p buffer-file-name :filename plist-get 3] 4 (#$ . 9584)])
#@54 Return non-nil if TAG is most likely a semantic tag.
(defalias 'semantic-tag-p #[(tag) "\3011) :\205'