;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(require 'semantic)#@96 String which indicates the end of a command.
Used for identifying the end of a single command.
(defvar semantic-command-separation-character ";" (#$ . 103))
(make-variable-buffer-local 'semantic-command-separation-character)#@93 String which indicates the end of an argument.
Used for identifying arguments to functions.
(defvar semantic-function-argument-separation-character "," (#$ . 333))
(make-variable-buffer-local 'semantic-function-argument-separation-character)#@457 Move point up one context from POINT.
Return non-nil if there are no more context levels.
Overloaded functions using `up-context' take no parameters.
BOUNDS-TYPE is a symbol representing a tag class to restrict
movement to.  If this is nil, `function' is used.
This will find the smallest tag of that class (function, variable,
type, etc) and make sure non-nil is returned if you cannot
go up past the bounds of that tag.

(fn &optional POINT BOUNDS-TYPE)
(defalias 'semantic-up-context #[512 "\303\304!\210\203 b\210\305\206 \306!\211\203 \214\307!\210\310\211\311\312\313!\311\204= \211\262\204= 	\262\n\205; \314\n\"\262\203h \211\204h \302N\203W \314\302N\"\211\262\204= \211\315N\206a \211\316N\262\262\202= \266\203\211\262\205| \211\203z N\205| J\266\203\206\361 \211\211\317N\262\205\361 \211\211\317N\262\311\312\313!\311\204\260 \211\262\204\260 	\262\n\205\256 \314\n\"\262\203\333 \211\204\333 \302N\203\312 \314\302N\"\211\262\204\260 \211\315N\206\324 \211\316N\262\262\202\260 \266\203\211\262\205\357 \211\203\355 N\205\357 J\266\203\262\211\203\374 \211 \202\376 \320 )\207\203	\321\322\"\210\310\211\311\312\313!\311\204+\211\262\204+	\262\n\205)\314\n\"\262\203V\211\204V\302N\203E\314\302N\"\211\262\204+\211\315N\206O\211\316N\262\262\202+\266\203\211\262\205j\211\203hN\205jJ\266\203\206\337\211\211\317N\262\205\337\211\211\317N\262\311\312\313!\311\204\236\211\262\204\236	\262\n\205\234\314\n\"\262\203\311\211\204\311\302N\203\270\314\302N\"\211\262\204\236\211\315N\206\302\211\316N\262\262\202\236\266\203\211\262\205\335\211\203\333N\205\335J\266\203\262\211\203\350\211 \207\320 \207" [mode-local-active-mode major-mode mode-local-symbol-table require semantic/find semantic-current-tag-of-class function semantic-narrow-to-tag semantic-up-context nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-up-context-default error "No context of type %s to advance in"] 15 (#$ . 581)])
(put 'semantic-up-context 'mode-local-overload t)#@100 Move the point up and out one context level.
Works with languages that use parenthetical grouping.
(defalias 'semantic-up-context-default #[0 "\3001 \301\302!\210\3030\207\210\304\207" [(error) up-list -1 nil t] 2 (#$ . 2741)])#@169 Move POINT to the beginning of the current context.
Return non-nil if there is no upper context.
The default behavior uses `semantic-up-context'.

(fn &optional POINT)
(defalias 'semantic-beginning-of-context #[256 "\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\205a J\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\322 N\205\324 J\266\203\262\211\203\340 \211!\207\313!\207" [mode-local-active-mode major-mode mode-local-symbol-table semantic-beginning-of-context nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-beginning-of-context-default] 13 (#$ . 2976)])
(put 'semantic-beginning-of-context 'mode-local-overload t)#@136 Move POINT to the beginning of the current context via parenthesis.
Return non-nil if there is no upper context.

(fn &optional POINT)
(defalias 'semantic-beginning-of-context-default #[256 "\211\203 \211b\210\300 \203 \301\207\302u\210\303\207" [semantic-up-context t 1 nil] 2 (#$ . 4097)])#@203 Move POINT to the end of the current context.
Return non-nil if there is no upper context.
Be default, this uses `semantic-up-context', and assumes parenthetical
block delimiters.

(fn &optional POINT)
(defalias 'semantic-end-of-context #[256 "\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\205a J\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\322 N\205\324 J\266\203\262\211\203\340 \211!\207\313!\207" [mode-local-active-mode major-mode mode-local-symbol-table semantic-end-of-context nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-end-of-context-default] 13 (#$ . 4397)])
(put 'semantic-end-of-context 'mode-local-overload t)#@130 Move POINT to the end of the current context via parenthesis.
Return non-nil if there is no upper context.

(fn &optional POINT)
(defalias 'semantic-end-of-context-default #[256 "\211\203 \211b\210`\300 \204N \3011 \302\303!\210\304u0\210\202N \210\305 \203K \305 \211\3068\262\307!\2038 \310!\266\202\202= \211\303H\266\202b\210`W\203N \211b\210\202N \211b\210\311\207" [semantic-up-context (error) forward-sexp 1 -1 semantic-current-tag 4 overlayp overlay-end nil] 6 (#$ . 5528)])#@57 Narrow the buffer to the extent of the current context.
(defalias 'semantic-narrow-to-context #[0 "\300\211\212\301 \204 `\262)\212\302 \204 `\262)\205! \211\205! }\207" [nil semantic-beginning-of-context semantic-end-of-context] 4 (#$ . 6023)])#@80 Execute BODY with the buffer narrowed to the current context.

(fn &rest BODY)
(defalias 'semantic-with-buffer-narrowed-to-context '(macro . #[128 "\300\301BB\207" [save-restriction (semantic-narrow-to-context)] 4 (#$ . 6281)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-with-buffer-narrowed-to-context lisp-indent-function 0 put edebug-form-spec t] 5)#@177 Get the local variables based on POINT's context.
Local variables are returned in Semantic tag format.
This can be overridden with `get-local-variables'.

(fn &optional POINT)
(defalias 'semantic-get-local-variables #[256 "\306\212\211\203\n \211b\210	\307\211\306\310\311!\306\204. \211\262\204. \f\262\205, \312\"\262\203Y \211\204Y \305N\203H \312\305N\"\211\262\204. \211\313N\206R \211\314N\262\262\202. \266\203\211\262\205m \211\203k N\205m J\266\203\206\342 \211\211\315N\262\205\342 \211\211\315N\262\306\310\311!\306\204\241 \211\262\204\241 \f\262\205\237 \312\"\262\203\314 \211\204\314 \305N\203\273 \312\305N\"\211\262\204\241 \211\313N\206\305 \211\314N\262\262\202\241 \266\203\211\262\205\340 \211\203\336 N\205\340 J\266\203\262\211\203\355 \211 \202\357 \316 +\207" [semantic--progress-reporter semantic-case-fold case-fold-search mode-local-active-mode major-mode mode-local-symbol-table nil semantic-get-local-variables override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-get-local-variables-default] 13 (#$ . 6674)])
(put 'semantic-get-local-variables 'mode-local-overload t)#@167 Get local values from a specific context.
Uses the bovinator with the special top-symbol `bovine-inner-scope'
to collect tags, such as local variables or prototypes.
(defalias 'semantic-get-local-variables-default #[0 "\205\201 \302=?\205\201 \303\304!\211\206 \305\211`\305\306`\307\"\204@ \204& `\262\212\310u\210\311\312`\212\313 \210`)\314\305\302%\")\262\202 \262\203V \315@\316\317 #\210A\262\202C \203{ \211\203{ \212\211b\210\212\313 ?\205j `*\320p\206s 	\304\321&\266)\266\204\262\207" [semantic--parse-table semantic-unmatched-syntax-hook t semantic-get-cache-data get-local-variables nil semantic-up-context function 1 append semantic-parse-region semantic-end-of-context bovine-inner-scope semantic--tag-put-property :filename buffer-file-name semantic-cache-data-to-buffer exit-cache-zone] 13 (#$ . 7892)])#@425 Get arguments (variables) from the current context at POINT.
Parameters are available if the point is in a function or method.
Return a list of tags unlinked from the originating buffer.
Arguments are obtained by overriding `get-local-arguments', or by the
default function `semantic-get-local-arguments-default'.  This, must
return a list of tags, or a list of strings that will be converted to
tags.

(fn &optional POINT)
(defalias 'semantic-get-local-arguments #[256 "\212\211\203 \211b\210\305\211\306\307\310!\306\204, \n\211\262\204, \262\f\205* \311\f\"\262\203W \211\204W \304N\203F \311\304N\"\211\262\204, \211\312N\206P \211\313N\262\262\202, \266\203\211\262\205k \211\203i N\205k J\266\203\206\340 \211\211\314N\262\205\340 \211\211\314N\262\306\307\310!\306\204\237 \n\211\262\204\237 \262\f\205\235 \311\f\"\262\203\312 \211\204\312 \304N\203\271 \311\304N\"\211\262\204\237 \211\312N\206\303 \211\313N\262\262\202\237 \266\203\211\262\205\336 \211\203\334 N\205\336 J\266\203\262\211\203\353 \211 \202\355 \315 \262\306\211\203f@\262A\262\3161+\211:\205%\211@;\205%\211A@9\205%\211A@\205%\3178<\205%\3208<0\262\202/\210\306\262\203:\321\306\322#\202_;\203[\323\306\211\211\324\325\326\327\330&\266\204\331\332 #\202_\333\334\"B\262\202\361 \211\237)\266\203)\207" [semantic-case-fold case-fold-search mode-local-active-mode major-mode mode-local-symbol-table semantic-get-local-arguments nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-get-local-arguments-default (error) 2 3 semantic-tag-copy t semantic--tag-put-property apply semantic-tag variable :type :default-value :filename buffer-file-name error "Unknown parameter element %S"] 18 (#$ . 8744)])
(put 'semantic-get-local-arguments 'mode-local-overload t)#@119 Get arguments (variables) from the current context.
Parameters are available if the point is in a function or method.
(defalias 'semantic-get-local-arguments-default #[0 "\300 \211\205# \211\301\211A@\262=\266\202\205# \211\211\302\303\3048\262\"\266\203\207" [semantic-current-tag function :arguments plist-get 2] 8 (#$ . 10635)])#@276 Get all local variables for this context, and parent contexts.
Local variables are returned in Semantic tag format.
Be default, this gets local variables, and local arguments.
Optional argument POINT is the location to start getting the variables from.

(fn &optional POINT)
(defalias 'semantic-get-all-local-variables #[256 "\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\205a J\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\322 N\205\324 J\266\203\262\211\203\340 \211!\207\313!\207" [mode-local-active-mode major-mode mode-local-symbol-table semantic-get-all-local-variables nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-get-all-local-variables-default] 13 (#$ . 10980)])
(put 'semantic-get-all-local-variables 'mode-local-overload t)#@333 Get all local variables for this context.
Optional argument POINT is the location to start getting the variables from.
That is a cons (LOCAL-ARGUMENTS . LOCAL-VARIABLES) where:

- LOCAL-ARGUMENTS is collected by `semantic-get-local-arguments'.
- LOCAL-VARIABLES is collected by `semantic-get-local-variables'.

(fn &optional POINT)
(defalias 'semantic-get-all-local-variables-default #[256 "\212\211\203 \211b\210\302\303 \304 \"*\207" [semantic-case-fold case-fold-search append semantic-get-local-arguments semantic-get-local-variables] 4 (#$ . 12221)])#@99 Move to the end of the current command.
Be default, uses `semantic-command-separation-character'.
(defalias 'semantic-end-of-command #[0 "\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\205a J\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\322 N\205\324 J\266\203\262\211\203\337 \211 \207\313 \207" [mode-local-active-mode major-mode mode-local-symbol-table semantic-end-of-command nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-end-of-command-default] 12 (#$ . 12785)])
(put 'semantic-end-of-command 'mode-local-overload t)#@136 Move to the end of the current command.
Depends on `semantic-command-separation-character' to find the
beginning and end of a command.
(defalias 'semantic-end-of-command-default #[0 "\214\304 \210\305 p\306\307#\216\310\n!\210\311\312!\313\314#\203\" \315u\202$ db)\266\202*\207" [semantic-case-fold case-fold-search semantic-lex-syntax-table semantic-command-separation-character semantic-narrow-to-context syntax-table make-closure #[0 "r\300q\210\302\301!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table re-search-forward regexp-quote nil t -1] 6 (#$ . 13809)])#@105 Move to the beginning of the current command.
Be default, uses `semantic-command-separation-character'.
(defalias 'semantic-beginning-of-command #[0 "\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\205a J\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\322 N\205\324 J\266\203\262\211\203\337 \211 \207\313 \207" [mode-local-active-mode major-mode mode-local-symbol-table semantic-beginning-of-command nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-beginning-of-command-default] 12 (#$ . 14388)])
(put 'semantic-beginning-of-command 'mode-local-overload t)#@142 Move to the beginning of the current command.
Depends on `semantic-command-separation-character' to find the
beginning and end of a command.
(defalias 'semantic-beginning-of-command-default #[0 "\214\304 \210\305 p\306\307#\216\310!\210	\311x\210\312\313!\311\314#\203( \315\225b\210\202+ eb\210\316\311w*\266\202)\207" [semantic-lex-syntax-table semantic-case-fold case-fold-search semantic-command-separation-character semantic-narrow-to-context syntax-table make-closure #[0 "r\300q\210\302\301!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table nil re-search-backward regexp-quote t 0 " 	\n"] 6 (#$ . 15442)])#@59 Return the point at the beginning of the current command.
(defalias 'semantic-point-at-beginning-of-command #[0 "\212\300 \210`)\207" [semantic-beginning-of-command] 1 (#$ . 16068)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-point-at-beginning-of-command speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@59 Return the point at the beginning of the current command.
(defalias 'semantic-point-at-end-of-command #[0 "\212\300 \210`)\207" [semantic-end-of-command] 1 (#$ . 16420)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-point-at-end-of-command speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@51 Narrow the current buffer to the current command.
(defalias 'semantic-narrow-to-command #[0 "\212\300 \210`)\212\301 \210`)}\207" [semantic-beginning-of-command semantic-end-of-command] 2 (#$ . 16754)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-narrow-to-command speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@80 Execute BODY with the buffer narrowed to the current command.

(fn &rest BODY)
(defalias 'semantic-with-buffer-narrowed-to-command '(macro . #[128 "\300\301BB\207" [save-restriction (semantic-narrow-to-command)] 4 (#$ . 17114)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-with-buffer-narrowed-to-command lisp-indent-function 0 put edebug-form-spec t] 5)#@257 Move point to the end of the current symbol under POINT.
This skips forward over symbols in a complex reference.
For example, in the C statement:
  this.that().entry;

If the cursor is on `this', will move point to the ; after entry.

(fn &optional POINT)
(defalias 'semantic-ctxt-end-of-symbol #[256 "\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\205a J\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\322 N\205\324 J\266\203\262\211\203\340 \211!\207\313!\207" [mode-local-active-mode major-mode mode-local-symbol-table semantic-ctxt-end-of-symbol nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-ctxt-end-of-symbol-default] 13 (#$ . 17508)])
(put 'semantic-ctxt-end-of-symbol 'mode-local-overload t)#@226 Move point to the end of the current symbol under POINT.
This will move past type/field names when applicable.
Depends on `semantic-type-relation-separator-character', and will
work on C like languages.

(fn &optional POINT)
(defalias 'semantic-ctxt-end-of-symbol-default #[256 "\211\203 \211b\210\304\305\306#	\307\310\311 p\312\313#\216\314!\210\315\316!\203* \317\320!\210\202f \315!\204f \212\3211B \317\322!\210\317\320!\210\3070\202G \210\310\202M \205M \315!)\203f \317\322!\210\315\323!\203b \317\322!\210\202U \317\320!\210`\262\3241\246 \205\242 \315\323!\203{ \317\320!\210\315!\204\210 \325\310!\210\202m \326\225b\210\315\316!\203\231 \317\320!\210\202\234 \310\262`\262\202m 0\202\251 \210b)\266\202)\207" [semantic-type-relation-separator-character semantic-case-fold case-fold-search semantic-lex-syntax-table mapconcat #[257 "\300!\207" [regexp-quote] 3 "\n\n(fn A)"] "\\|" t nil syntax-table make-closure #[0 "r\300q\210\302\301!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table looking-at "\\w\\|\\s_" forward-sexp 1 (error) -1 "\\s(" (error) error 0] 10 (#$ . 18710)])#@396 Return the current symbol the cursor is on at POINT in a list.
The symbol includes all logical parts of a complex reference.
For example, in C the statement:
  this.that().entry

Would be object `this' calling method `that' which returns some structure
whose field `entry' is being reference.  In this case, this function
would return the list:
  ( "this" "that" "entry" )

(fn &optional POINT)
(defalias 'semantic-ctxt-current-symbol #[256 "\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\205a J\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\322 N\205\324 J\266\203\262\211\203\340 \211!\207\313!\207" [mode-local-active-mode major-mode mode-local-symbol-table semantic-ctxt-current-symbol nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-ctxt-current-symbol-default] 13 (#$ . 19822)])
(put 'semantic-ctxt-current-symbol 'mode-local-overload t)#@205 Return the current symbol the cursor is on at POINT in a list.
This will include a list of type/field names when applicable.
Depends on `semantic-type-relation-separator-character'.

(fn &optional POINT)
(defalias 'semantic-ctxt-current-symbol-default #[256 "\212\211\203 \211b\210\304\305\306#\307\310Q	\311\211\312 p\313\314#\216\315!\210\212\316\317!\2030 \320\321!\210\202r \316!\204r \212\3221I \320\323!\210\320\321!\210\3240\202N \210\311\202U \205U \316!)\203r \325C\262\320\323!\210\316\326!\203n \320\323!\210\202a \320\321!\210`\262\3271\325 \212\323u\210\316\317!)\205\320 \320\323!\210\330`\"B\262`\320\323!\210\320\321!\210\211`X\203\243 \331\311!\210\210\316!\203\311 \320\323!\210\316\326!\203\277 o\204\277 \320\323!\210\202\256 \320\321!\210`\262\202y \331\311!\210\202y 0\210\202\326 \210*\266\202)\266\204)\207" [semantic-type-relation-separator-character semantic-case-fold case-fold-search semantic-lex-syntax-table mapconcat #[257 "\300!\207" [regexp-quote] 3 "\n\n(fn A)"] "\\|" "[ 	\n]*\\(" "\\)[ 	\n]*\\(\\w\\|\\s_\\)" nil syntax-table make-closure #[0 "r\300q\210\302\301!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table looking-at "\\w\\|\\s_" forward-sexp 1 (error) -1 t "" "\\s(" (error) buffer-substring-no-properties error] 11 (#$ . 21167)])#@195 Return the current symbol and bounds the cursor is on at POINT.
The symbol should be the same as returned by `semantic-ctxt-current-symbol'.
Return (PREFIX ENDSYM BOUNDS).

(fn &optional POINT)
(defalias 'semantic-ctxt-current-symbol-and-bounds #[256 "\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\205a J\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\322 N\205\324 J\266\203\262\211\203\340 \211!\207\313!\207" [mode-local-active-mode major-mode mode-local-symbol-table semantic-ctxt-current-symbol-and-bounds nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-ctxt-current-symbol-and-bounds-default] 13 (#$ . 22472)])
(put 'semantic-ctxt-current-symbol-and-bounds 'mode-local-overload t)#@179 Return the current symbol and bounds the cursor is on at POINT.
Uses `semantic-ctxt-current-symbol' to calculate the symbol.
Return (PREFIX ENDSYM BOUNDS).

(fn &optional POINT)
(defalias 'semantic-ctxt-current-symbol-and-bounds-default #[256 "\212\211\203 `b\210\300 \301!@\212\211\302\230\203 ``B\202U \2038 \303!\2038 `\30412 \305\306!0\210\2023 \210`B\202U \203T \3071O \305\310!\210`\305\306!\210`B0\202U \210\311\202U \311)E\266\203)\207" [semantic-ctxt-current-symbol reverse "" looking-at (error) forward-sexp 1 (error) -1 nil] 7 (#$ . 23660)])#@173 Return the current assignment near the cursor at POINT.
Return a list as per `semantic-ctxt-current-symbol'.
Return nil if there is nothing relevant.

(fn &optional POINT)
(defalias 'semantic-ctxt-current-assignment #[256 "\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\205a J\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\322 N\205\324 J\266\203\262\211\203\340 \211!\207\313!\207" [mode-local-active-mode major-mode mode-local-symbol-table semantic-ctxt-current-assignment nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-ctxt-current-assignment-default] 13 (#$ . 24228)])
(put 'semantic-ctxt-current-assignment 'mode-local-overload t)#@132 Return the current assignment near the cursor at POINT.
By default, assume that "=" indicates an assignment.

(fn &optional POINT)
(defalias 'semantic-ctxt-current-assignment-default #[256 "\211\203 \211b\210\303 p\304\305#\216\306\n!\210\3071I \214\212\310 \210`)\212\311 \210`)}\210\212\312\313w\210\31419 \315u0\210\202: \210\316\317!\210\320\321!\210\322 *0\202K \210\313)\266\202)\207" [semantic-case-fold case-fold-search semantic-lex-syntax-table syntax-table make-closure #[0 "r\300q\210\302\301!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table (error) semantic-beginning-of-command semantic-end-of-command " 	=" nil (error) 1 re-search-backward "[^=]=\\([^=]\\|$\\)" forward-sexp -1 semantic-ctxt-current-symbol] 7 (#$ . 25366)])#@266 Return the current function call the cursor is in at POINT.
The function returned is the one accepting the arguments that
the cursor is currently in.  It will not return function symbol if the
cursor is on the text representing that function.

(fn &optional POINT)
(defalias 'semantic-ctxt-current-function #[256 "\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\205a J\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\322 N\205\324 J\266\203\262\211\203\340 \211!\207\313!\207" [mode-local-active-mode major-mode mode-local-symbol-table semantic-ctxt-current-function nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-ctxt-current-function-default] 13 (#$ . 26119)])
(put 'semantic-ctxt-current-function 'mode-local-overload t)#@165 Return the current function call the cursor is in at POINT.
The call will be identified for C like languages with the form
 NAME ( args ... )

(fn &optional POINT)
(defalias 'semantic-ctxt-current-function-default #[256 "\211\203 \211b\210\303 p\304\305#\216\306\n!\210\212\307 \210\310\311!\205\" \312 *\266\202)\207" [semantic-case-fold case-fold-search semantic-lex-syntax-table syntax-table make-closure #[0 "r\300q\210\302\301!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table semantic-up-context looking-at "(" semantic-ctxt-current-symbol] 7 (#$ . 27342)])#@92 Return the index of the argument position the cursor is on at POINT.

(fn &optional POINT)
(defalias 'semantic-ctxt-current-argument #[256 "\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\205a J\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\322 N\205\324 J\266\203\262\211\203\340 \211!\207\313!\207" [mode-local-active-mode major-mode mode-local-symbol-table semantic-ctxt-current-argument nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-ctxt-current-argument-default] 13 (#$ . 27918)])
(put 'semantic-ctxt-current-argument 'mode-local-overload t)#@145 Return the index of the argument the cursor is on at POINT.
Depends on `semantic-function-argument-separation-character'.

(fn &optional POINT)
(defalias 'semantic-ctxt-current-argument-default #[256 "\211\203 \211b\210\304 p\305\306#\216\307\n!\210\310 \2055 \212`\311\312 \210\313\314!\315#\2032 \211T\262\202! )\262)\266\202)\207" [semantic-case-fold case-fold-search semantic-lex-syntax-table semantic-function-argument-separation-character syntax-table make-closure #[0 "r\300q\210\302\301!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table semantic-ctxt-current-function 1 semantic-up-context re-search-forward regexp-quote t] 9 (#$ . 28967)])#@294 Calculate a thing identified by the current cursor position.
Calls previously defined `semantic-ctxt-current-...' calls until something
gets a match.  See `semantic-ctxt-current-symbol',
`semantic-ctxt-current-function', and `semantic-ctxt-current-assignment'
for details on the return value.
(defalias 'semantic-ctxt-current-thing #[0 "\300 \206\f \301 \206\f \302 \207" [semantic-ctxt-current-symbol semantic-ctxt-current-function semantic-ctxt-current-assignment] 1 (#$ . 29633)])#@292 Return a list of tag classes that are allowed at POINT.
If POINT is nil, the current buffer location is used.
For example, in Emacs Lisp, the symbol after a ( is most likely
a function.  In a makefile, symbols after a : are rules, and symbols
after a $( are variables.

(fn &optional POINT)
(defalias 'semantic-ctxt-current-class-list #[256 "\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\205a J\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\322 N\205\324 J\266\203\262\211\203\340 \211!\207\313!\207" [mode-local-active-mode major-mode mode-local-symbol-table semantic-ctxt-current-class-list nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-ctxt-current-class-list-default] 13 (#$ . 30123)])
(put 'semantic-ctxt-current-class-list 'mode-local-overload t)#@140 Return a list of tag classes that are allowed at POINT.
Assume a functional typed language.  Uses very simple rules.

(fn &optional POINT)
(defalias 'semantic-ctxt-current-class-list-default #[256 "\212\211\203 \211b\210\300 \211\203G \211\301\211A@\262=\266\202\203! \302\202H \211\303\211A@\262=\266\202\204? \211\304\211A@\262=\266\202\203C \305\202H \306\202H \307)\207" [semantic-current-tag function (function variable type) type variable (type) nil (type)] 6 (#$ . 31380)])#@223 Return the major mode active at POINT.
POINT defaults to the value of point in current buffer.
You should override this function in multiple mode buffers to
determine which major mode apply at point.

(fn &optional POINT)
(defalias 'semantic-ctxt-current-mode #[256 "\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\205a J\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\322 N\205\324 J\266\203\262\211\203\340 \211!\207\313!\207" [mode-local-active-mode major-mode mode-local-symbol-table semantic-ctxt-current-mode nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-ctxt-current-mode-default] 13 (#$ . 31877)])
(put 'semantic-ctxt-current-mode 'mode-local-overload t)#@178 Return the major mode active at POINT.
POINT defaults to the value of point in current buffer.
This default implementation returns the current major mode.

(fn &optional POINT)
(defalias 'semantic-ctxt-current-mode-default #[256 "\207" [major-mode] 2 (#$ . 33041)])#@242 Return a list of type names currently in scope at POINT.
The return value can be a mixed list of either strings (names of
types that are in scope) or actual tags (type declared locally
that may or may not have a name.)

(fn &optional POINT)
(defalias 'semantic-ctxt-scoped-types #[256 "\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\205a J\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\322 N\205\324 J\266\203\262\211\203\340 \211!\207\313!\207" [mode-local-active-mode major-mode mode-local-symbol-table semantic-ctxt-scoped-types nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-ctxt-scoped-types-default] 13 (#$ . 33314)])
(put 'semantic-ctxt-scoped-types 'mode-local-overload t)#@177 Return a list of scoped types by name for the current context at POINT.
This is very different for various languages, and does nothing unless
overridden.

(fn &optional POINT)
(defalias 'semantic-ctxt-scoped-types-default #[256 "\300\207" [nil] 2 (#$ . 34497)])#@325 Return a list of package tags or names which are being imported at POINT.
The return value is a list of strings which are package names
that are implied in code.  Thus a C++ symbol:
  foo::bar();
where there is a statement such as:
  using baz;
means that the first symbol might be:
  baz::foo::bar();

(fn &optional POINT)
(defalias 'semantic-ctxt-imported-packages #[256 "\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\205a J\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\322 N\205\324 J\266\203\262\211\205\337 \211!\207" [mode-local-active-mode major-mode mode-local-symbol-table semantic-ctxt-imported-packages nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete] 13 (#$ . 34765)])
(byte-code "\300\301\302\303#\210\304\305!\207" [put semantic-ctxt-imported-packages mode-local-overload t provide semantic/ctxt] 4)
