;ELC ;;; Compiled ;;; in Emacs version 27.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) #@494 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][[:xdigit:]]+ ; OCTAL_LITERAL: 0[0-7]* ; INTEGER_LITERAL: [lL]? | [lL]? | [lL]? ; EXPONENT: [eE][+-]?[09]+ ; FLOATING_POINT_LITERAL: [0-9]+[.][0-9]*?[fFdD]? | [.][0-9]+?[fFdD]? | [0-9]+[fFdD]? | [0-9]+?[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][[:xdigit:]]+[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\305 #\306\305\"G\307\245B\202\305B)\207" [id dim string-match "\\(\\[]\\)+\\'" substring 0 match-string 2] 5 (#$ . 1365)]) (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 (#$ . 1832)]) (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\265\n,\310\311,\"\211\203G\312,\313 #\314\313,\"G\315\245B\202K,\313B*\211A\313V\203\265 @--\206d\211@)\211A@)\316\3158)!\316\3178)!\3208)\257*\211(+B+(\321 A./\211\211AA)\2110:\203\2610\322\3230@/.#!\240\210,\202o \324=\203\n:\204\304\nCC\325/\326\3158)/\"*,\310\311,\"\211\203\362\312,\313 #\314\313,\"G\315\245B\202\366,\313B*\211@ A\n\203o\n@'\nA\211\203'A@\2021\211\3208)1\3271!\203,\3301!\20201\313H*)+\203?'AA\202\\\211\3208)1\3271!\203W\3311!\202[1\332H**'@,\310\311,\"\211\203\312,\313 #\314\313,\"G\315\245B\202\203,\313B* @--\206\225\211@)\211A@)\316\3158)!\316\3178)!\3208)\257*\211(+B+(\325\f./\211\211AA)\2110:\203\3410\322\3230@/.#!\240\210,(\321 A\\./\211\211AA)\2110:\203\n0\322\3230@/.#!\240\210,\333()*#\210\202\376 \304=\203o\310\334\211@)\"\203o\211@)-\335-\334\336#\237\2112@3\337\340\3412A!\342#43-\211-\240\210*4\306\21156-\343\344-\345\34665&+D+,+.\n\207" [tag class elts dim type dim0 nil function string-match "\\(\\[]\\)+\\'" substring 0 match-string 2 copy-sequence 3 4 :dereference semantic-tag-make-plist plist-put variable :type plist-get overlayp overlay-start 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 (#$ . 2187)]) (byte-code "\305\300\306\307\310\311\310\312\313\314\315\316& \210\317\320 BC\321\322#\210\323\324\322\"\210)\325\320\322\326!\306\204?\n\211\262\204? \262\f\205=\327\f\"\262\203j\211\204j\304N\203Y\327\304N\"\211\262\204?\211\330N\206c\211\331N\262\262\202?\266\203\332\333#\210\325\320\322\300#\207" [semantic-java-dependency-system-include-path #3=#:tmp0 mode-local-active-mode major-mode mode-local-symbol-table 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-parent derived-mode-parent variable-documentation "System path to search for include files."] 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&\n@\211A@)\311=\203\n@ B\nA\211\204 \237*\"\207" [point result tags tag mapcar semantic-tag-name semantic-something-to-tag-table semantic-find-tag-by-overlay nil type] 6 (#$ . 5479)]) (byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-ctxt-scoped-types-java-mode definition-name semantic-ctxt-scoped-types mode-local-bind ((semantic-ctxt-scoped-types . semantic-ctxt-scoped-types-java-mode)) (override-flag t) java-mode] 4) #@148 Return the protection of TAG in PARENT. Override function for `semantic-tag-protection'. Override semantic-tag-protection in `java-mode' buffers. (defalias 'semantic-tag-protection-java-mode #[(tag &optional parent) "\303 \"\211\206\n\304)\207" [tag parent prot semantic-tag-protection-default package] 4 (#$ . 6158)]) (byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-tag-protection-java-mode definition-name semantic-tag-protection mode-local-bind ((semantic-tag-protection . semantic-tag-protection-java-mode)) (override-flag t) java-mode] 4) #@210 Return a function (method) prototype for TAG. Optional argument PARENT is a parent (containing) item. Optional argument COLOR indicates that color should be mixed in. See also `semantic-format-tag-prototype'. (defalias 'semantic-java-prototype-function #[(tag &optional parent color) "\211@)\211\211\306\307\3108) \"+\311\307\3108) \"*\n\203<\n\312V\203< \313P\nS\211\202, +\314\307\3108) \"*\211\315\307\3108) \"+\316\317\211\203<@A \3201\245:\205\241@;\205\241A@9\205\241A@\205\241\3108<\205\241\3218<0\202\247\210\317)\203j\203\357\322 \211\211\306\307\3108) \"+\311\307\3108) \"*\n\203\350\n\312V\203\350 \313P\nS\211\202\330 +\303\"\202( \211\211\306\307\3108) \"+\311\307\3108) \"*\n\203&\n\312V\203& \313P\nS\211\202 +\f\2035\323\2026\316Q\202j\203Q \203J\322 \303\"\322\324\"\206W\316\203`\325\202a\316 \206f\316 \203n\325\202o\316\326\327\260.\207" [tag attribute dim type argt arg :type plist-get 2 :dereference 0 "[]" :template-specifier :arguments "" nil (error) 3 semantic--format-colorize-text "," function " " "(" ")" argp args tmpl name color] 9 (#$ . 6735)]) #@209 Return a variable (field) prototype for TAG. Optional argument PARENT is a parent (containing) item. Optional argument COLOR indicates that color should be mixed in. See also `semantic-format-tag-prototype'. (defalias 'semantic-java-prototype-variable #[(tag &optional parent color) "\211@)\211\211\306\307\3108) \"+\311\307\3108) \"*\n\203<\n\312V\203< \313P\nS\211\202, + \203K\314 \303\"\202L \315 \203X\314\f\316\"\202Y\fQ*\207" [tag attribute dim type name color :type plist-get 2 :dereference 0 "[]" semantic--format-colorize-text " " variable] 6 (#$ . 7970)]) #@215 Return a type (class/interface) prototype for TAG. Optional argument PARENT is a parent (containing) item. Optional argument COLOR indicates that color should be mixed in. See also `semantic-format-tag-prototype'. (defalias 'semantic-java-prototype-type #[(tag &optional parent color) "\211@)\211\306\307\3108) \"+\311\307\3108) \"* \312 \2033\313\f\303\"\2024\f\n\2069\314R+\207" [tag attribute tmpl type name color :type plist-get 2 :template-specifier " " semantic--format-colorize-text ""] 6 (#$ . 8573)]) #@216 Return a prototype for TOKEN. Optional argument PARENT is a parent (containing) item. Optional argument COLOR indicates that color should be mixed in. Override semantic-format-tag-prototype in `java-mode' buffers. (defalias 'semantic-format-tag-prototype-java-mode #[(tag &optional parent color) "\304\305\306\211A@)\"!\307 !\203 \202\310\n #)\207" [tag f parent color intern-soft format "semantic-java-prototype-%s" fboundp semantic-format-tag-prototype-default] 5 (#$ . 9111)]) (byte-code "\300\301\302\303#\210\304\305\306\307#\210\310\311\301\312#\207" [put semantic-format-tag-prototype-java-mode definition-name semantic-format-tag-prototype mode-local-bind ((semantic-format-tag-prototype . semantic-format-tag-prototype-java-mode)) (override-flag t) java-mode semantic-alias-obsolete semantic-java-prototype-nonterminal "23.2"] 4) #@113 Return a suitable path for (some) Java imports. Override semantic-tag-include-filename in `java-mode' buffers. (defalias 'semantic-tag-include-filename-java-mode #[(tag) "\211@)\302\303\304 \305\"\306#\307P)\207" [tag name mapconcat identity split-string "\\." "/" ".java"] 6 (#$ . 9966)]) (byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-tag-include-filename-java-mode definition-name semantic-tag-include-filename mode-local-bind ((semantic-tag-include-filename . semantic-tag-include-filename-java-mode)) (override-flag t) java-mode] 4) #@49 Move point backward, skipping Java whitespaces. (defalias 'semantic-java-skip-spaces-backward #[nil "\300\301x\207" [" \n " nil] 2 (#$ . 10537)]) (put 'semantic-java-skip-spaces-backward 'byte-optimizer 'byte-compile-inline-expand) #@48 Move point forward, skipping Java whitespaces. (defalias 'semantic-java-skip-spaces-forward #[nil "\300\301w\207" [" \n " nil] 2 (#$ . 10776)]) (put 'semantic-java-skip-spaces-forward 'byte-optimizer 'byte-compile-inline-expand) #@344 Find documentation from TAG and return it as a clean string. Java have documentation set in a comment preceding TAG's definition. Attempt to strip out comment syntactic sugar, unless optional argument NOSNARF is non-nil. If NOSNARF is `lex', then return the semantic lex token. Override semantic-documentation-for-tag in `java-mode' buffers. (defalias 'semantic-documentation-for-tag-java-mode #[(&optional tag nosnarf) "\204 \305 \211\205\222r\306!q\210\212\211\3078)\310 !\203'\311 !\202* \312H*b\210\313\314w\210\315\316!\204W\313\314x\210\3171E\320u0\202I\210\202J\210\315\321!\203W\322u\210\323\324!\210\315\316!\205\221`\325\326!\n\205\220\n\211\211A@\247\204v\211AA\202x\211A\262A\262b\210\313\314w\210\305 =\205\220 b\210\325\f!**\207" [tag o c p nosnarf semantic-current-tag semantic-tag-buffer 4 overlayp overlay-start 0 " \n " nil looking-at "/\\*\\*" (error) -2 "\\*/" 2 forward-comment -1 semantic-doc-snarf-comment-for-tag lex] 4 (#$ . 11013)]) (byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-documentation-for-tag-java-mode definition-name semantic-documentation-for-tag mode-local-bind ((semantic-documentation-for-tag . semantic-documentation-for-tag-java-mode)) (override-flag t) java-mode] 4) #@141 Valid javadoc line tags. Ordered following Sun's Tag Convention at  (defvar semantic-java-doc-line-tags nil (#$ . 12283)) #@33 Javadoc tags which have a name. (defvar semantic-java-doc-with-name-tags nil (#$ . 12483)) #@38 Javadoc tags which have a reference. (defvar semantic-java-doc-with-ref-tags nil (#$ . 12580)) #@94 Optional tags used in class/interface documentation. Ordered following Sun's Tag Convention. (defvar semantic-java-doc-extra-type-tags nil (#$ . 12681)) #@97 Optional tags used in method/constructor documentation. Ordered following Sun's Tag Convention. (defvar semantic-java-doc-extra-function-tags nil (#$ . 12840)) #@84 Optional tags used in field documentation. Ordered following Sun's Tag Convention. (defvar semantic-java-doc-extra-variable-tags nil (#$ . 13006)) #@88 Tags allowed in class/interface documentation. Ordered following Sun's Tag Convention. (defvar semantic-java-doc-type-tags nil (#$ . 13159)) #@91 Tags allowed in method/constructor documentation. Ordered following Sun's Tag Convention. (defvar semantic-java-doc-function-tags nil (#$ . 13306)) #@78 Tags allowed in field documentation. Ordered following Sun's Tag Convention. (defvar semantic-java-doc-variable-tags nil (#$ . 13460)) #@42 Return doc tag from NAME. That is @NAME. (defalias 'semantic-java-doc-tag '(macro . #[(name) "\301\302E\207" [name concat "@"] 3 (#$ . 13601)])) #@87 Return name of the doc TAG symbol. That is TAG `symbol-name' without the leading `@'. (defalias 'semantic-java-doc-tag-name #[(tag) "\301\302!\303\"\207" [tag substring symbol-name 1] 3 (#$ . 13753)]) (put 'semantic-java-doc-tag-name 'byte-optimizer 'byte-compile-inline-expand) #@52 Return non-nil if javadoc keyword K1 is before K2. (defalias 'semantic-java-doc-keyword-before-p #[(k1 k2) "\306P\306\nP \211\307\f!\205\211;\205\310\f\"\262\211\262\205#\211J\262\205O\311 \312\307\f!\205;\211;\205;\310\f\"\262\211\203G\211N\202K\313\314\315\"\266\203\316\" \211\307\f!\205a\211;\205a\310\f\"\262\211\262\205k\211J\262\205\227\311 \312\307\f!\205\203\211;\205\203\310\f\"\262\211\203\217\211N\202\223\313\314\315\"\266\203\316\" \247\203\253\247\203\253 X\202\270 \247\206\270 ?\205\270?,\207" [k1 t1 k2 t2 semantic-flex-keywords-obarray seq1 "@" obarrayp intern-soft plist-get javadoc signal wrong-type-argument (semantic-lex-keyword-p name) seq seq2] 7 (#$ . 14039)]) #@345 Run function FUN for each javadoc keyword. Return the list of FUN results. If optional PROPERTY is non-nil only call FUN for javadoc keywords which have a value for PROPERTY. FUN receives two arguments: the javadoc keyword and its associated 'javadoc property list. It can return any value. All nil values are removed from the result list. (defalias 'semantic-java-doc-keywords-map #[(fun &optional property) "\301\302\303\304\"\"\207" [semantic-java-doc-line-tags delq nil mapcar #[(k) "\306P\211\307\310\n!\205\211;\205\311\n\"\262\211\203\"\211N\202&\312\313\314\"\266\203\f\2034\315 \f\"\2058  \"*\207" [k tag semantic-flex-keywords-obarray plist property fun "@" javadoc obarrayp intern-soft signal wrong-type-argument (semantic-lex-keyword-p name) plist-get] 7]] 5 (#$ . 14784)]) #@42 Lazy initialization of javadoc elements. (defalias 'semantic-java-doc-setup #[nil "\204\306\307\310\311\312!\"\313\" \204\314\315\316\"\n\204 \314\317\320\" \204)\314\321\322\"\f\2042\314\323\322\" \204;\314\324\322\"\204E\314\325!\204O\314\326!\206Z\314\327!\211\207" [semantic-java-doc-line-tags semantic-java-doc-with-name-tags semantic-java-doc-with-ref-tags semantic-java-doc-extra-type-tags semantic-java-doc-extra-function-tags semantic-java-doc-extra-variable-tags sort mapcar semantic-java-doc-tag-name semantic-lex-keywords javadoc semantic-java-doc-keyword-before-p semantic-java-doc-keywords-map #[(k p) "\207" [k] 1] with-name #[(k p) "\207" [k] 1] with-ref #[(k p) "\302\303\304\">\205\n \207" [p k type plist-get usage] 4] opt #[(k p) "\302\303\304\">\205\n \207" [p k function plist-get usage] 4] #[(k p) "\302\303\304\">\205\n \207" [p k variable plist-get usage] 4] #[(k p) "\302\303\304\">\205\n \207" [p k type plist-get usage] 4] #[(k p) "\302\303\304\">\205\n \207" [p k function plist-get usage] 4] #[(k p) "\302\303\304\">\205\n \207" [p k variable plist-get usage] 4] semantic-java-doc-type-tags semantic-java-doc-function-tags semantic-java-doc-variable-tags] 5 (#$ . 15597)]) (provide 'semantic/java)