;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; 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!\210\300\303!\210\300\304!\207" [require semantic semantic/ctxt semantic/doc semantic/format] 2)
#@493 Lexer regexp to match Java number terminals.
Following is the specification of Java number literals.
DECIMAL_LITERAL:
[1-9][0-9]*
;
HEX_LITERAL:
0[xX][0-9a-fA-F]+
;
OCTAL_LITERAL:
0[0-7]*
;
INTEGER_LITERAL:
<DECIMAL_LITERAL>[lL]?
| <HEX_LITERAL>[lL]?
| <OCTAL_LITERAL>[lL]?
;
EXPONENT:
[eE][+-]?[09]+
;
FLOATING_POINT_LITERAL:
[0-9]+[.][0-9]*<EXPONENT>?[fFdD]?
| [.][0-9]+<EXPONENT>?[fFdD]?
| [0-9]+<EXPONENT>[fFdD]?
| [0-9]+<EXPONENT>?[fFdD]
;
(defconst semantic-java-number-regexp "\\(\\<[0-9]+[.][0-9]+\\([eE][-+]?[0-9]+\\)?[fFdD]?\\>\\|\\<[0-9]+[.][eE][-+]?[0-9]+[fFdD]?\\>\\|\\<[0-9]+[.][fFdD]\\>\\|\\<[0-9]+[.]\\|[.][0-9]+\\([eE][-+]?[0-9]+\\)?[fFdD]?\\>\\|\\<[0-9]+[eE][-+]?[0-9]+[fFdD]?\\>\\|\\<0[xX][0-9a-fA-F]+[lL]?\\>\\|\\<[0-9]+[lLfFdD]?\\>\\)" (#$ . 540))
#@201 Split ID string into a pair (NAME . DIM).
NAME is ID without trailing brackets: "[]".
DIM is the dimension of NAME deduced from the number of trailing
brackets, or 0 if there is no trailing brackets.
(defalias 'semantic-java-dim #[(id) "\302\303\"\211\203 \304 O\305\304\"G\306\245B\202 \304B)\207" [id dim string-match "\\(\\[]\\)+\\'" 0 match-string 2] 5 (#$ . 1363)])
(put 'semantic-java-dim 'byte-optimizer 'byte-compile-inline-expand)
#@56 Return the type of TAG, taking care of array notation.
(defalias 'semantic-java-type #[(tag) "\211\304\305\3068) \"+\307\305\3068) \"*\n\2035 \n\310V\2035 \311P\nS\211\202% *\207" [tag attribute dim type :type plist-get 2 :dereference 0 "[]"] 5 (#$ . 1816)])
(put 'semantic-java-type 'byte-optimizer 'byte-compile-inline-expand)
#@295 Expand compound declarations found in TAG into separate tags.
TAG contains compound declarations when its class is `variable', and
its name is a list of elements (NAME START . END), where NAME is a
compound variable name, and START/END are the bounds of the
corresponding compound declaration.
(defalias 'semantic-java-expand-tag #[(tag) "\211A@)\211@)\306\211\306\211&\306\211'(\306\211)* \307=\203\264 \n+\310\311+\"\211\203F +\312O\313\312+\"G\314\245B\202J +\312B*\211A\312V\203\264 @,,\206c \211@)\211A@)\315\3148)!\315\3168)!\3178)\257*\211'*B*'\320A-.\211\211AA)\211/:\203\260 /\321\322/@.-#!\240\210,\202l \323=\203\n:\204\303 \nCC\324.\325\3148).\"*+\310\311+\"\211\203\360 +\312O\313\312+\"G\314\245B\202\364 +\312B*\211@A\n\203l\n@&\nA\211\203&A@\202/\211\3178)0\3260!\203*\3270!\202.0\312H*(*\203=&AA\202Z\211\3178)0\3260!\203U\3300!\202Y0\331H*)&@+\310\311+\"\211\203|+\312O\313\312+\"G\314\245B\202\200+\312B*@,,\206\222\211@)\211A@)\315\3148)!\315\3168)!\3178)\257*\211'*B*'\324\f-.\211\211AA)\211/:\203\336/\321\322/@.-#!\240\210,'\320
A\\-.\211\211AA)\211/:\203/\321\322/@.-#!\240\210,\332'()#\210\202\374 \304=\203l\310\333\211@)\"\203l\211@),\334,\333\335#\237\2111@2\336\337\3401A!\341#32,\211,\240\210*3\306\21145,\342\343,\344\34554&+D*,*.\n\207" [tag class elts dim type dim0 nil function string-match "\\(\\[]\\)+\\'" 0 match-string 2 copy-sequence 3 4 :dereference semantic-tag-make-plist plist-put variable :type plist-get semantic-overlay-p semantic-overlay-start semantic-overlay-end 1 semantic-tag-set-bounds "\\." split-string t mapconcat identity reverse "." apply semantic-tag package :detail elt clone start end xpand id name value attribute plist-cdr o rsplit newclassname newpkg attributes detail] 9 (#$ . 2171)])
(byte-code "\306\300\307\310\311\312\311\313\314\315\316\317&\210\320\321 BC\322\323#\210\324\325\323\"\210)\326\321\323\327!\307\n\204D \211\204D \205C \330
\"\n\203n \f\204n \n\331N\203] \330
\n\331N\"\211\204D \n\211\332N\206h \n\333N)\211\204H \f,\334\335#\210\326\321\323\300#\207" [semantic-java-dependency-system-include-path #3=#:tmp0 mode symbol bind name custom-declare-variable nil "The system include path used by Java language." :group java semantic :type (repeat (directory :tag "Directory")) :set #[(sym val) "\303 \"\210 \304\305\nBC\306\307#\210\310\311\307\"\210)\312\313!\205 \310\313\307\"\207" [sym val #1=#:tmp0 set-default mode-local-bind semantic-dependency-system-include-path #2=(mode-variable-flag t) java-mode mode-local-map-mode-buffers #[nil "\302\301!\210\211\207" [#1# semantic-dependency-system-include-path make-local-variable] 2] fboundp semantic-decoration-unparsed-include-do-reset] 4] mode-local-bind semantic-dependency-system-include-path #2# java-mode mode-local-map-mode-buffers #[nil "\302\301!\210\211\207" [#3# semantic-dependency-system-include-path make-local-variable] 2] put symbol-name intern-soft mode-local-symbol-table mode-local-parent derived-mode-parent variable-documentation "System path to search for include files." mode-local-active-mode major-mode] 12)
#@119 Return a list of type names currently in scope at POINT.
Override semantic-ctxt-scoped-types in `java-mode' buffers.
(defalias 'semantic-ctxt-scoped-types-java-mode #[(&optional point) "\304\305\306\307!!\310\211\203& |