;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\303\304#\207" [require cl-lib eieio-loaddefs nil t] 4)
#@69 This hook is executed, then cleared each time `defclass' is called.
(defvar eieio-hook nil (#$ . 497))
#@184 Non-nil to throw an error if an encountered tag is unsupported.
This may prevent classes from CLOS applications from being used with EIEIO
since EIEIO does not support all CLOS tags.
(defvar eieio-error-unsupported-class-tags nil (#$ . 607))
#@223 If non-nil, skip all slot typechecking.
Set this to t permanently if a program is functioning well to get a
small speed increase. This variable is also used internally to handle
default setting for optimization purposes.
(defvar eieio-skip-typecheck nil (#$ . 856))
#@67 Non-nil means to optimize the method dispatch on primary methods.
(defvar eieio-optimize-primary-methods-flag t (#$ . 1129))
#@263 If nil, drop support for some behaviors of older versions of EIEIO.
Currently under control of this var:
- Define every class as a var whose value is the class symbol.
- Define <class>-child-p and <class>-list-p predicates.
- Allow object names in constructors.
(defvar eieio-backward-compatibility t (#$ . 1261))
#@62 Uninterned symbol representing an unbound slot in an object.
(defconst eieio-unbound (byte-code "\301\300!\203
9\203
\207\302\303!\207" [eieio-unbound boundp make-symbol "unbound"] 2) (#$ . 1581))
(defvar eieio-default-superclass nil)
#@71 compiler-macro for inlining `eieio--class-p'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'eieio--class-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block eieio--class-p (and (memq (type-of cl-x) cl-struct-eieio--class-tags) t)) nil] 9 (#$ . 1826)])
(put 'eieio--class-p 'compiler-macro 'eieio--class-p--cmacro)
#@13
(fn CL-X)
(defalias 'eieio--class-p #[257 "\301!>\205 \302\207" [cl-struct-eieio--class-tags type-of t] 3 (#$ . 2172)])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put eieio--class-p side-effect-free error-free put eieio--class cl-deftype-satisfies] 5)
#@74 compiler-macro for inlining `eieio--class-name'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'eieio--class-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block eieio--class-name (aref cl-x 1)) nil] 9 (#$ . 2454)])
(put 'eieio--class-name 'compiler-macro 'eieio--class-name--cmacro)
#@158 Access slot "name" of `(eieio--class (:constructor nil) (:constructor eieio--class-make (name)) (:include cl--class) (:copier nil))' struct CL-X.
(fn CL-X)
(defalias 'eieio--class-name #[257 "\211\300H\207" [1] 3 (#$ . 2772)])
(byte-code "\300\301\302\303#\300\207" [function-put eieio--class-name side-effect-free t] 4)
#@79 compiler-macro for inlining `eieio--class-docstring'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'eieio--class-docstring--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block eieio--class-docstring (aref cl-x 2)) nil] 9 (#$ . 3100)])
(put 'eieio--class-docstring 'compiler-macro 'eieio--class-docstring--cmacro)
#@163 Access slot "docstring" of `(eieio--class (:constructor nil) (:constructor eieio--class-make (name)) (:include cl--class) (:copier nil))' struct CL-X.
(fn CL-X)
(defalias 'eieio--class-docstring #[257 "\211\300H\207" [2] 3 (#$ . 3443)])
(byte-code "\300\301\302\303#\300\207" [function-put eieio--class-docstring side-effect-free t] 4)
#@77 compiler-macro for inlining `eieio--class-parents'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'eieio--class-parents--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block eieio--class-parents (aref cl-x 3)) nil] 9 (#$ . 3786)])
(put 'eieio--class-parents 'compiler-macro 'eieio--class-parents--cmacro)
#@161 Access slot "parents" of `(eieio--class (:constructor nil) (:constructor eieio--class-make (name)) (:include cl--class) (:copier nil))' struct CL-X.
(fn CL-X)
(defalias 'eieio--class-parents #[257 "\211\300H\207" [3] 3 (#$ . 4119)])
(byte-code "\300\301\302\303#\300\207" [function-put eieio--class-parents side-effect-free t] 4)
#@75 compiler-macro for inlining `eieio--class-slots'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'eieio--class-slots--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block eieio--class-slots (aref cl-x 4)) nil] 9 (#$ . 4456)])
(put 'eieio--class-slots 'compiler-macro 'eieio--class-slots--cmacro)
#@159 Access slot "slots" of `(eieio--class (:constructor nil) (:constructor eieio--class-make (name)) (:include cl--class) (:copier nil))' struct CL-X.
(fn CL-X)
(defalias 'eieio--class-slots #[257 "\211\300H\207" [4] 3 (#$ . 4779)])
(byte-code "\300\301\302\303#\300\207" [function-put eieio--class-slots side-effect-free t] 4)
#@81 compiler-macro for inlining `eieio--class-index-table'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'eieio--class-index-table--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block eieio--class-index-table (aref cl-x 5)) nil] 9 (#$ . 5110)])
(put 'eieio--class-index-table 'compiler-macro 'eieio--class-index-table--cmacro)
#@165 Access slot "index-table" of `(eieio--class (:constructor nil) (:constructor eieio--class-make (name)) (:include cl--class) (:copier nil))' struct CL-X.
(fn CL-X)
(defalias 'eieio--class-index-table #[257 "\211\300H\207" [5] 3 (#$ . 5463)])
(byte-code "\300\301\302\303#\300\207" [function-put eieio--class-index-table side-effect-free t] 4)
#@78 compiler-macro for inlining `eieio--class-children'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'eieio--class-children--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block eieio--class-children (aref cl-x 6)) nil] 9 (#$ . 5812)])
(put 'eieio--class-children 'compiler-macro 'eieio--class-children--cmacro)
#@162 Access slot "children" of `(eieio--class (:constructor nil) (:constructor eieio--class-make (name)) (:include cl--class) (:copier nil))' struct CL-X.
(fn CL-X)
(defalias 'eieio--class-children #[257 "\211\300H\207" [6] 3 (#$ . 6150)])
(byte-code "\300\301\302\303#\300\207" [function-put eieio--class-children side-effect-free t] 4)
#@84 compiler-macro for inlining `eieio--class-initarg-tuples'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'eieio--class-initarg-tuples--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block eieio--class-initarg-tuples (aref cl-x 7)) nil] 9 (#$ . 6490)])
(put 'eieio--class-initarg-tuples 'compiler-macro 'eieio--class-initarg-tuples--cmacro)
#@168 Access slot "initarg-tuples" of `(eieio--class (:constructor nil) (:constructor eieio--class-make (name)) (:include cl--class) (:copier nil))' struct CL-X.
(fn CL-X)
(defalias 'eieio--class-initarg-tuples #[257 "\211\300H\207" [7] 3 (#$ . 6858)])
(byte-code "\300\301\302\303#\300\207" [function-put eieio--class-initarg-tuples side-effect-free t] 4)
#@81 compiler-macro for inlining `eieio--class-class-slots'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'eieio--class-class-slots--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block eieio--class-class-slots (aref cl-x 8)) nil] 9 (#$ . 7216)])
(put 'eieio--class-class-slots 'compiler-macro 'eieio--class-class-slots--cmacro)
#@165 Access slot "class-slots" of `(eieio--class (:constructor nil) (:constructor eieio--class-make (name)) (:include cl--class) (:copier nil))' struct CL-X.
(fn CL-X)
(defalias 'eieio--class-class-slots #[257 "\211\300H\207" [8] 3 (#$ . 7569)])
(byte-code "\300\301\302\303#\300\207" [function-put eieio--class-class-slots side-effect-free t] 4)
#@93 compiler-macro for inlining `eieio--class-class-allocation-values'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'eieio--class-class-allocation-values--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block eieio--class-class-allocation-values (aref cl-x 9)) nil] 9 (#$ . 7918)])
(put 'eieio--class-class-allocation-values 'compiler-macro 'eieio--class-class-allocation-values--cmacro)
#@177 Access slot "class-allocation-values" of `(eieio--class (:constructor nil) (:constructor eieio--class-make (name)) (:include cl--class) (:copier nil))' struct CL-X.
(fn CL-X)
(defalias 'eieio--class-class-allocation-values #[257 "\211\300H\207" [9] 3 (#$ . 8331)])
(byte-code "\300\301\302\303#\300\207" [function-put eieio--class-class-allocation-values side-effect-free t] 4)
#@90 compiler-macro for inlining `eieio--class-default-object-cache'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'eieio--class-default-object-cache--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block eieio--class-default-object-cache (aref cl-x 10)) nil] 9 (#$ . 8716)])
(put 'eieio--class-default-object-cache 'compiler-macro 'eieio--class-default-object-cache--cmacro)
#@174 Access slot "default-object-cache" of `(eieio--class (:constructor nil) (:constructor eieio--class-make (name)) (:include cl--class) (:copier nil))' struct CL-X.
(fn CL-X)
(defalias 'eieio--class-default-object-cache #[257 "\211\300H\207" [10] 3 (#$ . 9115)])
(byte-code "\300\301\302\303#\300\207" [function-put eieio--class-default-object-cache side-effect-free t] 4)
#@77 compiler-macro for inlining `eieio--class-options'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'eieio--class-options--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block eieio--class-options (aref cl-x 11)) nil] 9 (#$ . 9492)])
(put 'eieio--class-options 'compiler-macro 'eieio--class-options--cmacro)
#@161 Access slot "options" of `(eieio--class (:constructor nil) (:constructor eieio--class-make (name)) (:include cl--class) (:copier nil))' struct CL-X.
(fn CL-X)
(defalias 'eieio--class-options #[257 "\211\300H\207" [11] 3 (#$ . 9826)])
(byte-code "\300\301\302\303#\300\207" [function-put eieio--class-options side-effect-free t] 4)
#@74 compiler-macro for inlining `eieio--class-make'.
(fn CL-WHOLE-ARG NAME)
(defalias 'eieio--class-make--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (name) (cl-block eieio--class-make (record 'eieio--class name nil nil nil nil nil nil nil nil nil nil)) nil] 9 (#$ . 10164)])
(put 'eieio--class-make 'compiler-macro 'eieio--class-make--cmacro)
#@60 Constructor for objects of type `eieio--class'.
(fn NAME)
(defalias 'eieio--class-make #[257 "\300\301\302\211\211\211\211\211\211\211\211\211&\f\207" [record eieio--class nil] 14 (#$ . 10536)])
(byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put eieio--class-make side-effect-free t cl-struct-define eieio--class nil cl--class record ((cl-tag-slot) (name nil :type symbol) (docstring nil :type string) (parents nil :type (list-of cl--class)) (slots nil :type (vector cl-slot-descriptor)) (index-table nil :type hash-table) (children) (initarg-tuples) (class-slots nil :type eieio--slot) (class-allocation-values) (default-object-cache) (options)) cl-struct-eieio--class-tags] 11)
(defconst eieio--object-num-slots 1)
#@12
(fn OBJ)
(defalias 'eieio--object-class-tag #[257 "\211\300H\207" [0] 3 (#$ . 11301)])
(put 'eieio--object-class-tag 'byte-optimizer 'byte-compile-inline-expand)
#@12
(fn OBJ)
(defalias 'eieio--object-class #[257 "\211\211\300H\207" [0] 4 (#$ . 11471)])
(byte-code "\300\301\302\303#\210\304\305!\207" [put eieio--object-class byte-optimizer byte-compile-inline-expand require cl-macs] 4)
#@38 Return the class object.
(fn CLASS)
(defalias 'eieio--class-object #[257 "\2119\203\f \211\300N\206
\207\211\207" [cl--class] 3 (#$ . 11701)])
(put 'eieio--class-object 'byte-optimizer 'byte-compile-inline-expand)
#@81 Return non-nil if X is a valid class vector.
X can also be is a symbol.
(fn X)
(defalias 'class-p #[257 "\2119\203 \211\301N\202\f \211\302!>\205 \303\207" [cl-struct-eieio--class-tags cl--class type-of t] 4 (#$ . 11923)])
#@55 Return a printed representation of CLASS.
(fn CLASS)
(defalias 'eieio--class-print-name #[257 "\300\301\302!\"\207" [format "#<class %s>" eieio-class-name] 5 (#$ . 12157)])
#@55 Return a Lisp like symbol name for CLASS.
(fn CLASS)
(defalias 'eieio-class-name #[257 "\211\2119\203 \211\301N\206 \202 \211\262\262\302!>\204$ \303\304\305\306E\"\210\211\307H\207" [cl-struct-eieio--class-tags cl--class type-of signal wrong-type-argument eieio--class class 1] 6 (#$ . 12338)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\210\300\306\307\310#\207" [defalias class-name eieio-class-name nil make-obsolete "24.4" eieio--class-constructor identity "Return the symbol representing the constructor of CLASS."] 4)
#@82 Return from LIST the found OPTION, or nil if it doesn't exist.
(fn LIST OPTION)
(defalias 'eieio--class-option-assoc '(macro . #[514 "\300\301\302EDD\207" [car-safe cdr memq] 7 (#$ . 12886)]))
#@104 Return the value stored for CLASS' OPTION.
Return nil if that option doesn't exist.
(fn CLASS OPTION)
(defalias 'eieio--class-option #[514 "\211\300H>A\242\207" [11] 5 (#$ . 13089)])
(put 'eieio--class-option 'byte-optimizer 'byte-compile-inline-expand)
#@53 Return non-nil if OBJ is an EIEIO object.
(fn OBJ)
(defalias 'eieio-object-p #[257 "\301!\205 \211\211\302H\262\303!>\205 \304\262\207" [cl-struct-eieio--class-tags recordp 0 type-of t] 4 (#$ . 13351)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias object-p eieio-object-p nil make-obsolete "25.1"] 4)
#@91 Return non-nil if CLASS is abstract.
Abstract classes cannot be instantiated.
(fn CLASS)
(defalias 'class-abstract-p #[257 "\211\300N\301\211\302H>A\242\207" [cl--class :abstract 11] 6 (#$ . 13687)])
#@92 Return the invocation order of CLASS.
Abstract classes cannot be instantiated.
(fn CLASS)
(defalias 'eieio--class-method-invocation-order #[257 "\211\300\211\301H>A\242\266\202\206 \302\207" [:method-invocation-order 11 :breadth-first] 6 (#$ . 13895)])
(put 'eieio--class-method-invocation-order 'byte-optimizer 'byte-compile-inline-expand)
#@50 Symbol map of superclasses we find in autoloads.
(defvar eieio-defclass-autoload-map (make-hash-table) (#$ . 14245))
#@327 Create autoload symbols for the EIEIO class CNAME.
SUPERCLASSES are the superclasses that CNAME inherits from.
DOC is the docstring for CNAME.
This function creates a mock-class for CNAME and adds it into
SUPERCLASSES as children.
It creates an autoload function for CNAME's constructor.
(fn CNAME SUPERCLASSES FILENAME DOC)
(defalias 'eieio-defclass-autoload #[1028 "\302N\303\304\305\211\211\211\211\211\211\211\211\211&\f\306!>\205 \307?\205q \2033 \211L\210\310\311\312 \"\313#\210\314\302#\266\315\305\211%\210\315\316\311\317 \"!\320\305\211%\210 \205q \315\316\311\321 \"!\320\305\211%\210\315\316\311\322 \"!\320\305\211%\207" [cl-struct-eieio--class-tags eieio-backward-compatibility cl--class record eieio--class nil type-of t make-obsolete-variable format "use \\='%s instead" "25.1" put autoload intern "%s-p" "" "%s-child-p" "%s-list-p"] 18 (#$ . 14369)])
#@68 If class CNAME is in an autoload state, load its file.
(fn CNAME)
(defalias 'eieio-class-un-autoload #[257 "\300K!\207" [autoload-do-load] 3 (#$ . 15270)])
(byte-code "\300\301\302\303#\210\300\304\305\306#\207" [put eieio-class-un-autoload byte-optimizer byte-compile-inline-expand list-of cl-deftype-handler #[257 "\300\301\302\303\304\305\303\306\307\310\311DEE\312BBEDE\207" [and list satisfies lambda (list) cl-every (elem) cl-typep elem quote (list)] 13 "\n\n(fn ELEM-TYPE)"]] 4)
#@14
(fn CLASS)
(defalias 'eieio-make-class-predicate #[257 "\300\301\302\303\304!\305\"\306\307\310\"%\207" [make-byte-code 257 "\301!\205\n \302\300\"\207" vconcat vector [eieio-object-p same-class-p] 4 format "Return non-nil if OBJ is an object of type `%S'.\n\n(fn OBJ)"] 9 (#$ . 15766)])
#@14
(fn CLASS)
(defalias 'eieio-make-child-predicate #[257 "\300\301\302\303\304!\305\"\306\307\310\"%\207" [make-byte-code 257 "\301!\205\n \302\300\"\207" vconcat vector [eieio-object-p object-of-class-p] 4 format "Return non-nil if OBJ is an object of type `%S' or a subclass.\n\n(fn OBJ)"] 9 (#$ . 16067)])
(defvar eieio--known-slot-names nil)
#@217 Define CNAME as a new subclass of SUPERCLASSES.
SLOTS are the slots residing in that class definition, and OPTIONS
holds the class options.
See `defclass' for more information.
(fn CNAME SUPERCLASSES SLOTS OPTIONS)
(defalias 'eieio-defclass-internal #[1028 "\306\300!\210\307\310N\311! >\205 \211\262\211\206( \312\313\307\211\211\211\211\211\211\211\211\211&\f\307C\307\203X =\2049 \314\315!\210\211\316\307I\266\211\317\307I\266\211\320\307I\266\211\321\307I\266\202o \322\n\"\211\203n \211\323I\266\324 \n\"\210\210\203\367 \211\203\351 \211@\211\203\205 \2119\204\215 \325\326\"\210\202\342 \211\310N\311! >\204\240 \325\327\"\210\202\341 \211\211\323\323H\330\"\203\262 \211\202\266 B\262I\266\331\332\333\334\335\336\n!\337\"\317\340%\341\211\342H>A\242\266\202\"\210\211\316\316HBI\266\210A\266\202\202v \210\211\316\316H\237I\266\202$\303=\204$\343\262\211\323\323H\330\f\"\203\211\202B\262I\266\211\316CI\266\f\2038\211L\210\344\345\346\"\347#\210\f\203u\350\351 !\352P!\353\354\355\345\356\"\357\360\361\362\363\364\365\366\367\370\371\372EEE\373BBB\374BBBEF\"\210\375\345\376\f\"\347#\266\377!\210\201B \310#\266\211\2037\211@\211@A\211\201C \201D \"\206\247\201D \235?\205\247
\201C \201E \"\201C \201F \"\201C \201G \"\201C \201H \"\201C \201I \"\201C \201J \"\201C \201K \"\201C \n\201L \"\201C \201M \"\201N >A\242\201O >\203\n\307\2025\201P >\203\201Q \2025\201R >\203(\201S \2025\201T \201U \201G \nD\"\262\204>\343\262\f\203` \203`\201V \n!\204` \211L\210\344\n\345\346
\"\347#\210\204p\203p\201W \262\202y<\204yC\262\211\203\231\211@\2119\204\222\201T \201U \201L D\"\210A\266\202\202z\210\201X
\201Y \205\264\201F BC\205\300\201J \fBC\205\314\201K \fBC\205\330\201L \fBC\205\344\201M \fBC\205\360\201G BC&\312\201Z %\266\204\f\n\201[ &\210\211\203.\211@\242\235\203 \242\202%\242B\240\210A\266\202\202\n\266A\266\202\202\206\210\211\317\317H\201\\ \336\237\"\262I\266\211\320\320H\237I\266\211\321\321H\201\\ \336\"\262I\266\321H\211G\201] \307\"\201^ \211W\203\264\211\201_ \311H!@>\204\240\201T \201` \201Z
HD\"\210\nH\201a H!I\266\211T\262\202t\266\211\201b I\266\317H\201c \201d \201e \"G\201^ \211W\203\211\311H!@>\204\363\201T \201` \201Z HD\"\210H\201f H\201g #\266\211T\262\202\321\266\211\201h I\266\201F >A\242\211\201a I\266\f\2035\201B \201i #\210\210\201j \201k \201l \nB\"\210\341>A\242C\331\332\333\334\335\336!\337\"\317\201m %\242\"\210\341>\203q\341>A\242\240\210\202z\341\242BB\262\210\211\342I\266\211\203\216\211\316\307I\266\201n \201o \317HG\201f \201p #\307#\343A\201q \343\"\210)\211\201r I\266\207" [eieio-hook cl-struct-eieio--class-tags eieio-defclass-autoload-map eieio-default-superclass eieio-backward-compatibility eieio-unbound run-hooks nil cl--class type-of record eieio--class cl--assertion-failed (eq newc oldc) 3 4 7 8 gethash 6 remhash error "Invalid parent class %S" "Given parent class %S is not a class" memql mapc make-byte-code 257 "\300\300\242\235\203
\300\242\202 \300\242B\240\207" vconcat vector [] "\n\n(fn G)" :custom-groups 11 t make-obsolete-variable format "use \\='%s instead" "25.1" intern symbol-name "-list-p" defalias lambda (obj) "Test OBJ to see if it a list of objects which are a child of type %s" when (listp obj) let ((ans t)) while (and obj ans) setq ans and (eieio-object-p (car obj)) object-of-class-p (car obj) ((setq obj (cdr obj))) (ans) make-obsolete "use (cl-typep ... \\='(list-of %s)) instead" eieio-copy-parents-into-subclass cl-struct-cl-slot-descriptor-tags eieio-skip-typecheck put plist-get :initform :initarg :documentation :protection :allocation :type :custom :label :group :printer :allow-nil-initform (:public public nil) (:protected protected) protected (:private private) private signal invalid-slot-type keywordp (default) eieio--add-new-slot append cl-slot-descriptor defaultoverride apply make-vector 0 eieio-default-eval-maybe wrong-type-argument 2 9 make-hash-table :test eq 1 puthash 5 variable-documentation add-to-list current-load-list define-type "\n\n(fn CG)" make-record + -1 eieio-set-defaults 10] 38 (#$ . 16425)])
#@70 Whether the default value VAL should be evaluated for use.
(fn VAL)
(defalias 'eieio-eval-default-p #[257 "\211:\205 \211@9\205 \300@!\207" [fboundp] 3 (#$ . 20804)])
(put 'eieio-eval-default-p 'byte-optimizer 'byte-compile-inline-expand)
#@153 For SLOT, signal if its type does not match its default value.
If SKIPNIL is non-nil, then if default value is nil return t instead.
(fn SLOT SKIPNIL)
(defalias 'eieio--perform-slot-validation-for-default #[514 "\302!>\204 \303\304\305D\"\210\306H\302!>\204! \303\304\305D\"\210\307H\211:\2054 \211@9\2054 \310@!\262\206J \206J \203F ?\206J \311\"?\205h \303\312\302!>\204a \303\304\305D\"\210\313HE\"\207" [cl-struct-cl-slot-descriptor-tags eieio-skip-typecheck type-of signal wrong-type-argument cl-slot-descriptor 2 3 fboundp eieio--perform-slot-validation invalid-slot-type 1] 10 (#$ . 21054)])
#@24
(fn OLD NEW SKIPNIL)
(defalias 'eieio--slot-override #[771 "\302!>\204 \303\304\305D\"\210\306H\302!>\204! \303\304\305D\"\210\306H=\204, \307\310!\210\302!>\204; \303\304\305D\"\210\306H\302!>\204N \303\304\305D\"\210\311H\302!>\204a \303\304\305D\"\210\312H\302!>\204t \303\304\305D\"\210\311H\302!>\204\210 \303\304\305 D\"\210\313H\302!>\204\235 \303\304\305 D\"\210\313H\314\315\"\316=\204\276 \232\204\330 \317\320\n$\210\202\330 \302 !>\204\317 \303\304\305D\"\210\211\311I\266 =\204\377 \321 \"\210\302\n!>\204\366 \303\304\305\fD\"\210 \211\312I\266\314\322\"\314\322\"\211=\204\317\323\f$\210\266\211\203m\314\315\"\211\2038\211@\211>\2041\211B\262A\266\202\202 \210\302!>\204J\303\304\305
D\"\210\n\315\313H\236\203]\241\210\202k\313\315B\211\262\313HBI\210\266\324\211\205\341\211@\314\302
!>\204\207\303\304\305D\"\210\f\313H\"\203\332\302\f!>\204\240\303\304\305D\"\210\313H\236\314\302!>\204\272\303\304\305D\"\210\313H\"\203\312\241\210\202\330\313B\211\262\313HBI\210\266A\266\202\202n\262\207" [cl-struct-cl-slot-descriptor-tags eieio-unbound type-of signal wrong-type-argument cl-slot-descriptor 1 cl--assertion-failed (eq (cl--slot-descriptor-name old) (cl--slot-descriptor-name new)) 3 2 4 alist-get :group t error "Child slot type `%s' does not match inherited type `%s' for `%s'" eieio--perform-slot-validation-for-default :protection "Child slot protection `%s' does not match inherited protection `%s' for `%s'" (:custom :label :documentation :printer)] 20 (#$ . 21685)])
#@489 Add into NEWC attribute SLOT.
If a slot of that name already exists in NEWC, then do nothing. If it doesn't exist,
INIT is the initarg, if any.
Argument ALLOC specifies if the slot is allocated per instance, or per class.
If optional DEFAULTOVERRIDE is non-nil, then if A exists in NEWC,
we must override its value for a default.
Optional argument SKIPNIL indicates if type checking should be skipped
if default value is nil.
(fn NEWC SLOT INIT ALLOC &optional DEFAULTOVERRIDE SKIPNIL)
(defalias 'eieio--add-new-slot #[1540 "\302!>\204 \303\304\305D\"\210\306H\302!>\204$ \303\304\305D\"\210\307H\310 \311H\312\313$@\310\n\314H\312\313$@\315 \"\204G \211 B\210\3161\\ \317!\205X \320!\211\2620\202` \210\202a \210\211\203h \321\262\322>\203\275 \204\212 \323 \"\210 \211\311\311HBI\266\202\226 \203\226 \324\n#\210\205\343 \211\325\nB
\325H\235\203\262 \211\202\265 B\266\202I\262\202\343 \211\204\330 \323 \"\210 \211\314\314HBI\262\202\343 \205\343 \324\n#\207" [cl-struct-cl-slot-descriptor-tags eieio--known-slot-names type-of signal wrong-type-argument cl-slot-descriptor 1 2 cl-member 4 :key cl--slot-descriptor-name 8 memql (error) sequencep copy-sequence :class (nil :instance) eieio--perform-slot-validation-for-default eieio--slot-override 7] 17 (#$ . 23338)])
#@137 Copy into NEWC the slots of PARENTS.
Follow the rules of not overwriting early parents when applying to
the new child class.
(fn NEWC)
(defalias 'eieio-copy-parents-into-subclass #[257 "\301\302H>A\242\303H\211\205 \211@\211\304H\305HG\306\211W\203P \211\307H!\310\311!>\2045 \312\313\314D\"\210\315H\"@\316\317\211&\266\211T\262\202 \266\211\320H\211G\306\211W\203v \211\316\307H!\317\321%\266\211T\262\202X \266A\266\202\202\n \262\207" [cl-struct-cl-slot-descriptor-tags :allow-nil-initform 11 3 4 7 0 cl--copy-slot-descriptor rassq type-of signal wrong-type-argument cl-slot-descriptor 1 eieio--add-new-slot nil 8 :class] 18 (#$ . 24683)])
#@63 Return non-nil if SPEC does not match VALUE.
(fn SPEC VALUE)
(defalias 'eieio--perform-slot-validation #[514 "\301=\206 \211=\206 \302\"\207" [eieio-unbound t cl-typep] 5 (#$ . 25372)])
#@205 Make sure that for CLASS referencing SLOT-IDX, VALUE is valid.
Checks the :type specifier.
SLOT is the slot that is being checked, and is only used when throwing
an error.
(fn CLASS SLOT-IDX VALUE SLOT)
(defalias 'eieio--validate-slot-value #[1028 "?\205? S\262\302\303HH! >\204\" |