;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\3031\300\304!0\210\202\210\300\305!\210\300\306!\210\300\307!\207" [require eieio eieio-opt (error) semanticdb semantic/db matlab matlab-shell] 2) #@50 Directories which should be scanned for m-files. (defvar semanticdb-matlab-include-paths (byte-code "\300\301\302!!\205\f\301\302!C\207" [file-exists-p expand-file-name "~/matlab"] 3) (#$ . 277)) (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#\314\303\315\316\317$\207" [defalias semanticdb-table-matlab-p eieio-make-class-predicate semanticdb-table-matlab semanticdb-table-matlab--eieio-childp eieio-make-child-predicate semanticdb-table-matlab-child-p make-obsolete "use (cl-typep ... \\='semanticdb-table-matlab) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (semanticdb-search-results-table) ((major-mode :initform matlab-mode)) (:documentation "A table for returning search results from MATLAB path.")] 6) #@62 Create a new object of class type `semanticdb-table-matlab'. (defalias 'semanticdb-table-matlab #[(&rest slots) "\301\302\303#\207" [slots apply make-instance semanticdb-table-matlab] 4 (#$ . 1096)]) (byte-code "\300\301\302\303#\300\207" [function-put semanticdb-table-matlab compiler-macro semanticdb-table-matlab--anon-cmacro] 4) (defalias 'semanticdb-table-matlab--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#\314\303\315\316\317$\207" [defalias semanticdb-project-database-matlab-p eieio-make-class-predicate semanticdb-project-database-matlab semanticdb-project-database-matlab--eieio-childp eieio-make-child-predicate semanticdb-project-database-matlab-child-p make-obsolete "use (cl-typep ... \\='semanticdb-project-database-matlab) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (semanticdb-project-database) ((new-table-class :initform semanticdb-table-matlab :type class :documentation "New tables created for this database are of this class.")) (:documentation "Database representing MATLAB path.")] 6) #@73 Create a new object of class type `semanticdb-project-database-matlab'. (defalias 'semanticdb-project-database-matlab #[(&rest slots) "\301\302\303#\207" [slots apply make-instance semanticdb-project-database-matlab] 4 (#$ . 2408)]) (byte-code "\300\301\302\303#\300\207" [function-put semanticdb-project-database-matlab compiler-macro semanticdb-project-database-matlab--anon-cmacro] 4) (defalias 'semanticdb-project-database-matlab--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 "\305\306!C\307\310BC\311\312#\210\313\314\312\"\210\210)\315\310\312\316!\317\2045 \211\262\2045\n\262 \2053\320 \"\262\203`\211\204`\303N\203O\320\303N\"\211\262\2045\211\321N\206Y\211\322N\262\262\2025\266\203\323\324#\210\325\307\326\fBC\311\312#\210\313\327\312\"\210\f\210)\315\326\312\316!\317\204\230 \211\262\204\230\n\262 \205\226\320 \"\262\203\303\211\204\303\303N\203\262\320\303N\"\211\262\204\230\211\321N\206\274\211\322N\262\262\202\230\266\203\323\330#\210\331\332\317\333\334\335%\210\331\336\317\337\317\340%\210\331\341\317\342\317\343%\210\331\344\317\345\317\346%\210\331\347\317\350\317\351%\207" [#1=#:tmp0 mode-local-active-mode major-mode mode-local-symbol-table #2=#:tmp0 make-instance semanticdb-project-database-matlab mode-local-bind semanticdb-project-system-databases (mode-variable-flag t variable-documentation "Search project files, then search this omniscience database.\nIt is not necessary to to system or recursive searching because of\nthe omniscience database.") matlab-mode mode-local-map-mode-buffers #[nil "\302\301!\210\211\207" [#1# semanticdb-project-system-databases make-local-variable] 2] put symbol-name nil intern-soft mode-local-parent derived-mode-parent variable-documentation "Search MATLAB path for symbols." (project omniscience) semanticdb-find-default-throttle #[nil "\302\301!\210\211\207" [#2# semanticdb-find-default-throttle make-local-variable] 2] "Search project files, then search this omniscience database.\nIt is not necessary to to system or recursive searching because of\nthe omniscience database." cl-generic-define-method semanticdb-get-database-tables ((obj semanticdb-project-database-matlab)) t #[(#3=#:cl--cnm obj) "\303\304\"\204\305\306!\307\304 C#\210\307 \310#\210\307 \311\312#\210)\n \207" [obj newtable #3# slot-boundp tables make-instance semanticdb-table-matlab eieio-oset parent-db tags nil] 4 "For a MATLAB database OBJ, there are no explicit tables.\nCreate one of our special tables that can act as an intermediary."] semanticdb-file-table ((obj semanticdb-project-database-matlab) filename) #[(obj filename) "\301!@\207" [obj semanticdb-get-database-tables] 2 "From OBJ, return FILENAME's associated table object."] semanticdb-get-tags ((table semanticdb-table-matlab)) #[(table) "\300\207" [nil] 1 "Return the list of tags belonging to TABLE."] semanticdb-equivalent-mode ((table semanticdb-table-matlab) &optional buffer) #[(table &optional buffer) "rq\210 \206 \n)\303=\207" [buffer mode-local-active-mode major-mode matlab-mode] 2 "Return non-nil if TABLE's mode is equivalent to BUFFER.\nEquivalent modes are specified by by `semantic-equivalent-major-modes'\nlocal variable."] semanticdb-full-filename ((obj semanticdb-table-matlab)) #[(obj) "\300\207" [nil] 1 "Fetch the full filename that OBJ refers to.\nThis function is currently a stub."]] 9) #@245 Return a list of semanticdb tables asociated with PATH. If brutish, do the default action. If not brutish, do the default action, and append the system database (if available.) Override semanticdb-find-translate-path in `matlab-mode' buffers. (defalias 'semanticdb-find-translate-path-matlab-mode #[(path brutish) "\306\307\310!\203\310 \n\"\202\311\312!)\n\204\204 \202-\313\314\315\316\f\"\"\314 \"))\207" [semanticdb-search-system-databases path brutish default semanticdb-project-system-databases tables nil fboundp semanticdb-find-translate-path-default error "Variable semanticdb-find-translate-path-default doesn't exist" apply append mapcar #[(db) "\301!\207" [db semanticdb-get-database-tables] 2]] 5 (#$ . 5959)]) (byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semanticdb-find-translate-path-matlab-mode definition-name semanticdb-find-translate-path mode-local-bind ((semanticdb-find-translate-path . semanticdb-find-translate-path-matlab-mode)) (override-flag t) matlab-mode] 4) #@238 Internal cache for system M files. This variable caches all M files in the directories listed in `semantic-matlab-system-paths-include' under MATLAB root directory. Users can reset this cache using `semanticdb-matlab-reset-files-cache' (defvar semanticdb-matlab-system-files-cache '(nil) (#$ . 6987)) #@204 Internal cache for user M files. This variable caches all M files in the directories listed in `semanticdb-matlab-include-paths'. Users can reset this cache using `semanticdb-matlab-reset-files-cache'. (defvar semanticdb-matlab-user-files-cache '(nil) (#$ . 7296)) #@34 Internal cache for user classes. (defvar semanticdb-matlab-user-class-cache nil (#$ . 7568)) #@37 Reset semanticdb-matlab file cache. (defalias 'semanticdb-matlab-reset-files-cache #[nil "\302\303\211\207" [semanticdb-matlab-user-files-cache semanticdb-matlab-system-files-cache (nil) (nil)] 2 (#$ . 7667) nil]) #@202 Add current buffer file name to cache. This function will add the current buffer file name to `semanticdb-matlab-user-files-cache' if not already there. Meant to be called in local `after-save-hook'. (defalias 'semanticdb-matlab-possibly-add-buffer-to-cache #[nil "\205 \301 A\235?\205\302A\301 C\"\241\207" [semanticdb-matlab-user-files-cache buffer-file-name append] 4 (#$ . 7890)]) (add-hook 'matlab-mode-hook #[nil "\300\301\302\303\211$\207" [add-hook after-save-hook semanticdb-matlab-possibly-add-buffer-to-cache t] 5]) #@268 Get list of all m-files in DIRS. DIRS is a list of directories. If RECURSIVE, every subdirectory will be included in the search. If EXCLUDE-CLASSES, class directories (beginning with '@') will be skipped. If EXCLUDE-PRIVATE, 'private' directories will be skipped. (defalias 'semanticdb-matlab-scan-directories #[(dirs &optional recursive exclude-classes exclude-private) "\205|\306\306\211\203y @\306\307\n\310\311\310$\306\211\203_ @\312 !\203M\203X\203:\313\314 \"\204X\203F\313\315 \"\204X \fB\202X\313\316 \"\203X B A\211\204 *\f\203q\317 \320\f$\") A\211\204* )\207" [dirs files dir --dolist-tail-- subdirs cur nil directory-files t "[^.]" file-directory-p string-match ".*/@" ".*/private$" "\\.m$" append semanticdb-matlab-scan-directories recursive exclude-classes exclude-private] 8 (#$ . 8432)]) #@50 Cache user and system MATLAB files if necessary. (defalias 'semanticdb-matlab-cache-files #[nil "@\204\304\305 \304\211\211$B\n@?\205\304\305 \304\306\211$B\211\207" [semanticdb-matlab-system-files-cache semantic-matlab-dependency-system-include-path semanticdb-matlab-user-files-cache semanticdb-matlab-include-paths t semanticdb-matlab-scan-directories nil] 6 (#$ . 9289)]) #@120 Find NAME in matlab file names. If TYPE is 'regex, NAME is a regular expression. If TYPE is 'prefix, NAME is a prefix. (defalias 'semanticdb-matlab-find-name #[(name &optional type) "\306 \210\307A A\"\310\211 \311\267\202&\312\313\"\202,\312\314\"\202,\312\315\"\f\310\211\203S@\316 \317!\"\203J\nBA\211\2046*\n+\207" [semanticdb-matlab-system-files-cache semanticdb-matlab-user-files-cache results regexp files type semanticdb-matlab-cache-files append nil #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (prefix 20 regex 29)) format "^%s.*\\.m$" "%s\\.m$" "^%s\\.m" string-match file-name-nondirectory name cur --dolist-tail--] 5 (#$ . 9679)]) #@180 Return a list of tag classes that are allowed at point. If point is nil, the current buffer location is used. Override semantic-ctxt-current-class-list in `matlab-mode' buffers. (defalias 'semantic-ctxt-current-class-list-matlab-mode #[(point) "\300\301!\203\302\207\303\304\305\"\203\306\207\303\307\305\"\203\310\207\303\311\305\"\203#\312\207\300\313!\203+\314\207\315\207" [looking-at ".+=" (variable type) looking-back "\\(get\\|set\\)([a-zA-Z_0-9]*" nil (variable type) "\\(get\\|set\\)([a-zA-Z_0-9]+,'[a-zA-Z_0-9]*" (variable) "\\.[a-zA-Z_0-9]*" (variable) "\\s-*([a-zA-Z_0-9]+," (function) (function variable type)] 3 (#$ . 10406)]) (byte-code "\300\301\302\303#\210\304\305\306\307#\210\310\311\312\313\314\315%\210\310\316\312\317\314\320%\210\310\321\312\322\314\323%\210\324\325!\207" [put semantic-ctxt-current-class-list-matlab-mode definition-name semantic-ctxt-current-class-list mode-local-bind ((semantic-ctxt-current-class-list . semantic-ctxt-current-class-list-matlab-mode)) (override-flag t) matlab-mode cl-generic-define-method semanticdb-find-tags-by-name-method nil ((table semanticdb-table-matlab) name &optional tags) t #[(#1=#:cl--cnm table name &optional tags) "\203 \207\304\305 \2030\306 !\211\2030\307\n@!\2040\310\311\n@\"\2030\n@\312\211\224O \313QC\n@\204;\314 !@C\n@\205F\315\n@!@C)\207" [tags #1# where name nil matlab-shell-active-p matlab-shell-which-fcn file-exists-p string-match "@" 0 ".m" semanticdb-matlab-find-name semanticdb-file-stream] 3 "Find all tags named NAME in TABLE.\nReturn a list of tags."] semanticdb-find-tags-by-name-regexp-method ((table semanticdb-table-matlab) regex &optional tags) #[(#2=#:cl--cnm table regex &optional tags) "\203 \207\304\n\302\"\305\306\307\310 \"\")\207" [tags #2# regex files semanticdb-matlab-find-name delq nil mapcar #[(x) "\301!@\207" [x semanticdb-file-stream] 2]] 5 "Find all tags with name matching REGEX in TABLE.\nOptional argument TAGS is a list of tags to search.\nReturn a list of tags."] semanticdb-find-tags-for-completion-method ((table semanticdb-table-matlab) prefix &optional tags) #[(#3=#:cl--cnm table prefix &optional tags) "\203 \207\305\n\302\"\306\307 \203\310\311\312\n!\"\313\314 \"\210\315\306\310\316\f\"\"*\207" [tags #3# prefix compshell compdb semanticdb-matlab-find-name nil matlab-shell-active-p mapcar #[(x) ";\205(\302@!\211A\203$\303\304 @\"\203$\305\306 @\"\305\307 @\"PC @)C\207" [x where matlab-shell-which-fcn string-match "\\(.*\\)/@.*\\(/[A-Za-z_0-9]+\\.m\\)" match-string 1 2] 5] matlab-shell-completion-list mapc #[(x) " \235?\205 \302 \"\211\207" [x compdb append] 3] delq #[(x) "\301!@\207" [x semanticdb-file-stream] 2]] 5 "In TABLE, find all occurances of tags matching PREFIX.\nOptional argument TAGS is a list of tags to search.\nReturns a table of all matching tags."] provide semanticdb-matlab] 6)