%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
;ELC ;;; Compiled ;;; in Emacs version 25.2.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!\210\300\305!\210\300\306!\207" [require semantic semantic/format semantic/ctxt semantic/scope semantic/sort semantic/analyze/fcn] 2) #@50 Collection of any errors thrown during analysis. (defvar semantic-analyze-error-stack nil (#$ . 604)) #@64 Push the error in ERR-DATA onto the error stack. Argument ERR. (defalias 'semantic-analyze-push-error #[(err) " B\211\207" [err semantic-analyze-error-stack] 2 (#$ . 712)]) (byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\210\314\303\315\316\317$\207" [defalias semantic-analyze-context-p eieio-make-class-predicate semantic-analyze-context semantic-analyze-context--eieio-childp eieio-make-child-predicate semantic-analyze-context-child-p make-obsolete "use (cl-typep ... 'semantic-analyze-context) instead" "25.1" put cl-deftype-satisfies eieio-defclass-internal nil ((bounds :initarg :bounds :type list :documentation "The bounds of this context.\nUsually bound to the dimension of a single symbol or command.") (prefix :initarg :prefix :type list :documentation "List of tags defining local text.\nThis can be nil, or a list where the last element can be a string\nrepresenting text that may be incomplete. Preceding elements\nmust be semantic tags representing variables or functions\ncalled in a dereference sequence.") (prefixclass :initarg :prefixclass :type list :documentation "Tag classes expected at this context.\nThese are classes for tags, such as 'function, or 'variable.") (prefixtypes :initarg :prefixtypes :type list :documentation "List of tags defining types for :prefix.\nThis list is one shorter than :prefix. Each element is a semantic\ntag representing a type matching the semantic tag in the same\nposition in PREFIX.") (scope :initarg :scope :type (or null semantic-scope-cache) :documentation "List of tags available in scopetype.\nSee `semantic-analyze-scoped-tags' for details.") (buffer :initarg :buffer :type buffer :documentation "The buffer this context is derived from.") (errors :initarg :errors :documentation "Any errors thrown an caught during analysis.")) (:documentation "Base analysis data for any context.")] 5) #@63 Create a new object of class type `semantic-analyze-context'. (defalias 'semantic-analyze-context #[(&rest slots) "\301\302\303#\207" [slots apply make-instance semantic-analyze-context] 4 (#$ . 2643)]) (function-put 'semantic-analyze-context 'compiler-macro 'semantic-analyze-context--anon-cmacro) (defalias 'semantic-analyze-context--anon-cmacro #[(whole &rest slots) "@;\204 \207\302\303\304@ @# @\305@DABB\"\207" [slots whole macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5]) (byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\210\314\303\315\316\317$\207" [defalias semantic-analyze-context-assignment-p eieio-make-class-predicate semantic-analyze-context-assignment semantic-analyze-context-assignment--eieio-childp eieio-make-child-predicate semantic-analyze-context-assignment-child-p make-obsolete "use (cl-typep ... 'semantic-analyze-context-assignment) instead" "25.1" put cl-deftype-satisfies eieio-defclass-internal (semantic-analyze-context) ((assignee :initarg :assignee :type list :documentation "A sequence of tags for an assignee.\nThis is a variable into which some value is being placed. The last\nitem in the list is the variable accepting the value. Earlier\ntags represent the variables being dereferenced to get to the\nassignee.")) (:documentation "Analysis class for a value in an assignment.")] 5) #@74 Create a new object of class type `semantic-analyze-context-assignment'. (defalias 'semantic-analyze-context-assignment #[(&rest slots) "\301\302\303#\207" [slots apply make-instance semantic-analyze-context-assignment] 4 (#$ . 4085)]) (function-put 'semantic-analyze-context-assignment 'compiler-macro 'semantic-analyze-context-assignment--anon-cmacro) (defalias 'semantic-analyze-context-assignment--anon-cmacro #[(whole &rest slots) "@;\204 \207\302\303\304@ @# @\305@DABB\"\207" [slots whole macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5]) (byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\210\314\303\315\316\317$\207" [defalias semantic-analyze-context-functionarg-p eieio-make-class-predicate semantic-analyze-context-functionarg semantic-analyze-context-functionarg--eieio-childp eieio-make-child-predicate semantic-analyze-context-functionarg-child-p make-obsolete "use (cl-typep ... 'semantic-analyze-context-functionarg) instead" "25.1" put cl-deftype-satisfies eieio-defclass-internal (semantic-analyze-context) ((function :initarg :function :type list :documentation "A sequence of tags for a function.\nThis is a function being called. The cursor will be in the position\nof an argument.\nThe last tag in :function is the function being called. Earlier\ntags represent the variables being dereferenced to get to the\nfunction.") (index :initarg :index :type integer :documentation "The index of the argument for this context.\nIf a function takes 4 arguments, this value should be bound to\nthe values 1 through 4.") (argument :initarg :argument :type list :documentation "A sequence of tags for the :index argument.\nThe argument can accept a value of some type, and this contains the\ntag for that definition. It should be a tag, but might\nbe just a string in some circumstances.")) (:documentation "Analysis class for a value as a function argument.")] 5) #@75 Create a new object of class type `semantic-analyze-context-functionarg'. (defalias 'semantic-analyze-context-functionarg #[(&rest slots) "\301\302\303#\207" [slots apply make-instance semantic-analyze-context-functionarg] 4 (#$ . 6080)]) (function-put 'semantic-analyze-context-functionarg 'compiler-macro 'semantic-analyze-context-functionarg--anon-cmacro) (defalias 'semantic-analyze-context-functionarg--anon-cmacro #[(whole &rest slots) "@;\204 \207\302\303\304@ @# @\305@DABB\"\207" [slots whole macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5]) (byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\210\314\303\315\316\317$\207" [defalias semantic-analyze-context-return-p eieio-make-class-predicate semantic-analyze-context-return semantic-analyze-context-return--eieio-childp eieio-make-child-predicate semantic-analyze-context-return-child-p make-obsolete "use (cl-typep ... 'semantic-analyze-context-return) instead" "25.1" put cl-deftype-satisfies eieio-defclass-internal (semantic-analyze-context) nil (:documentation "Analysis class for return data.\nReturn data methods identify the required type by the return value\nof the parent function.")] 5) #@70 Create a new object of class type `semantic-analyze-context-return'. (defalias 'semantic-analyze-context-return #[(&rest slots) "\301\302\303#\207" [slots apply make-instance semantic-analyze-context-return] 4 (#$ . 7355)]) (function-put 'semantic-analyze-context-return 'compiler-macro 'semantic-analyze-context-return--anon-cmacro) (defalias 'semantic-analyze-context-return--anon-cmacro #[(whole &rest slots) "@;\204 \207\302\303\304@ @# @\305@DABB\"\207" [slots whole macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5]) (byte-code "\300\301\302\303\302\304%\210\300\301\302\305\306\307%\210\300\301\302\310\306\311%\210\300\312\302\313\302\314%\210\300\312\302\315\306\316%\210\300\312\302\317\306\320%\207" [cl-generic-define-method semantic-analyze-type-constraint nil ((context semantic-analyze-context) &optional desired-type) #[(context &optional desired-type) "\3031- :\205) @;\205) A@9\205) A@\205) \304 8<\205) \305 8<0\202/ \210\306)\205\322 \211A@)\307=\204O \211\310\311 \304 8)\n\"+;\203[ \307D\202\321 @;\203\234 \3121\216 :\205\212 @;\205\212 A@9\205\212 A@\205\212 \304 8<\205\212 \305 8<0\202\220 \210\306)\204\234 @\307D\202\321 \3131\311 :\205\305 @;\205\305 A@9\205\305 A@\205\305 \304 8<\205\305 \305 8<0\202\313 \210\306)\204\321 \306\207" [desired-type tag attribute (error) 2 3 nil type :type plist-get (error) (error)] 4 "Return a type constraint for completing :prefix in CONTEXT.\nOptional argument DESIRED-TYPE may be a non-type tag to analyze."] ((context semantic-analyze-context-functionarg)) t #[(#1=#:cl--cnm context) " \302 \303\"@\"\207" [#1# context eieio-oref argument] 5 "Return a type constraint for completing :prefix in CONTEXT."] ((context semantic-analyze-context-assignment)) #[(#2=#:cl--cnm context) " \302\303 \304\"!@\"\207" [#2# context reverse eieio-oref assignee] 6 "Return a type constraint for completing :prefix in CONTEXT."] semantic-analyze-interesting-tag ((context semantic-analyze-context)) #[(context) "\303\304\305\"!\211\203F @\30619 \n:\2055 \n@;\2055 \nA@9\2055 \nA@\2055 \307\n8<\2055 \310\n8<0\202; \210\311)\204F A\211\204 @)\207" [context prefix tag reverse eieio-oref :prefix (error) 2 3 nil] 5 "Return a tag from CONTEXT that would be most interesting to a user."] ((context semantic-analyze-context-functionarg)) #[(#3=#:cl--cnm context) " \206\n \302 \303\"\242\207" [#3# context eieio-oref :function] 3 "Try the base, and if that fails, return what we are assigning into."] ((context semantic-analyze-context-assignment)) #[(#4=#:cl--cnm context) " \206\n \302 \303\"\242\207" [#4# context eieio-oref :assignee] 3 "Try the base, and if that fails, return what we are assigning into."]] 6) #@688 Attempt to find all tags in SEQUENCE. Optional argument LOCALVAR is the list of local variables to use when finding the details on the first element of SEQUENCE in case it is not found in the global set of tables. Optional argument SCOPE are additional terminals to search which are currently scoped. These are not local variables, but symbols available in a structure which doesn't need to be dereferenced. Optional argument TYPERETURN is a symbol in which the types of all found will be stored. If nil, that data is thrown away. Optional argument THROWSYM specifies a symbol the throw on non-recoverable error. Remaining arguments FLAGS are additional flags to apply when searching. (defalias 'semantic-analyze-find-tag-sequence #[(sequence &optional scope typereturn throwsym &rest flags) "\306\211\307\310\211\n\311!\307\n\204+ \211\204+ \205* \312 \"\n\203U \f\204U \n\313N\203D \312 \n\313N\"\211\204+ \n\211\314N\206O \n\315N)\211\204/ \f,\211\205h \203f N\205h J+\206\341 \211\316N)\205\341 \211\316N)\307\310\211\n\311!\307\n\204\243 \211\204\243 \205\242 \312 \"\n\203\315 \f\204\315 \n\313N\203\274 \312 \n\313N\"\211\204\243 \n\211\314N\206\307 \n\315N)\211\204\247 \f,\211\205\340 \203\336 N\205\340 J+)\211\203\370 %\202\317%)\207" [overload property mode symbol bind name semantic-analyze-find-tag-sequence nil override-flag symbol-name intern-soft mode-local-symbol-table mode-local-parent derived-mode-parent overload-obsolete semantic-analyze-find-tag-sequence-default mode-local-active-mode major-mode #1=#:override sequence scope typereturn throwsym flags] 7 (#$ . 10115)]) (put 'semantic-analyze-find-tag-sequence 'mode-local-overload t) #@379 Attempt to find all tags in SEQUENCE. SCOPE are extra tags which are in scope. TYPERETURN is a symbol in which to place a list of tag classes that are found in SEQUENCE. Optional argument THROWSYM specifies a symbol the throw on non-recoverable error. Remaining arguments FLAGS are additional flags to apply when searching. This function knows of flags: `mustbeclassvariable' (defalias 'semantic-analyze-find-tag-sequence-default #[(sequence &optional scope typereturn throwsym flags) "\306\211\211\211 \205\f \307 !\310\n>\205 \311)*+,\312!\211+\203N \203@ +-\211*\211*A@)-*=\203K \306,+C*\202N \306++\204!,G\313U\205\\ . \203m \314,@. #\206t \315,@.\"\211+<\203\277 +@*\3161\261 *:\205\255 *@;\205\255 *A@9\205\255 *A@\205\255 \317*8<\205\255 \320*8<0\202\263 \210\306)\203\277 \321+.\"++*\3221\364 *:\205\360 *@;\205\360 *A@9\205\360 *A@\205\360 \317*8<\205\360 \320*8<0\202\366 \210\306)\204/\203\323/\324\"\210\202\325\326,@\"\210,A,+*B*\327+!),\203\263+\330-\211*\211*A@)-*=\203H\331+\f\"\206M+\202M\332+\f\"\2110\205W\3270!1\3062\3330 \"234\3342!\3065\2116\203\224,@6@\211*@)\230\203\2136@5B56A\2116\204t5\237+\211+<\203\341+@*\3351\325*:\205\321*@;\205\321*A@9\205\321*A@\205\321\317*8<\205\321\320*8<0\202\327\210\306)\203\341\321+!++*\3361*:\205*@;\205*A@9\205*A@\205\317*8<\205\320*8<0\202\210\306)\2041,A\203,\325\326,@\"\210\2021,@+1\2067 \211\203\205+*\3371q*:\205m*@;\205m*A@9\205m*A@\205m\317*8<\205m\320*8<0\202s\210\306)\203\205\340+!\204\205\341+\342 #\210+*B*0)B)\f\203\251\343\344\345\346)\"\"7\347\f\3507#\210)+,A\211,\204&8\203\2778)\237L\210*\237.\207" [sequence scope flags tagclass miniscope fname nil clone mustbeclassvariable variable semanticdb-typecache-find 1 semantic-scope-find semantic-analyze-find-tag (error) 2 3 semantic-analyze-select-best-tag (error) throw "Cannot find definition" error "Cannot find definition for \"%s\"" semantic-tag-file-name type semantic-analyze-type semantic-analyze-tag-type semantic-analyze-scoped-type-parts semantic-something-to-tag-table (error) (error) (error) semantic-tag-in-buffer-p semantic--tag-put-property :filename apply append mapcar semantic-tag-type-members eieio-oset fullscope tagtype tag tmp s class lftagclass throwsym tmptype typefile slots semantic-case-fold case-fold-search result tags rawscope typereturn] 9 (#$ . 11868)]) #@440 Return the first tag found with NAME or nil if not found. Optional argument TAGCLASS specifies the class of tag to return, such as 'function or 'variable. Optional argument SCOPE specifies a scope object which has additional tags which are in SCOPE and do not need prefixing to find. This is a wrapper on top of semanticdb, semanticdb typecache, semantic-scope, and semantic search functions. Almost all searches use the same arguments. (defalias 'semantic-analyze-find-tag #[(name &optional tagclass scope) ":\203 \202\f \306!\211<\203&