Function: cl-struct-slot-value--inliner
cl-struct-slot-value--inliner is a function defined in cl-macs.el.gz.
Signature
(cl-struct-slot-value--inliner INLINE--FORM STRUCT-TYPE SLOT-NAME INST)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-macs.el.gz
;; Could not find source code, showing raw function object.
#[(inline--form struct-type slot-name inst)
((ignore inline--form)
(catch 'inline--just-use
(let*
((exp struct-type)
(struct-type
(if (macroexp-copyable-p exp) exp
(make-symbol "struct-type")))
(body
(let*
((exp slot-name)
(slot-name
(if (macroexp-copyable-p exp) exp
(make-symbol "slot-name")))
(body
(let*
((exp inst)
(inst
(if (macroexp-copyable-p exp) exp
(make-symbol "inst")))
(body
(list 'progn
(list 'unless
(list 'cl-typep inst struct-type)
(list 'signal
(list 'quote
'wrong-type-argument)
(list 'list struct-type inst)))
(list 'if
(list 'eq
(list
'cl-struct-sequence-type
struct-type)
(list 'quote 'list))
(list 'nth
(list 'cl-struct-slot-offset
struct-type slot-name)
inst)
(list 'aref inst
(list 'cl-struct-slot-offset
struct-type slot-name))))))
(if (eq inst exp) body
(macroexp-let* (list (list inst exp)) body)))))
(if (eq slot-name exp) body
(macroexp-let* (list (list slot-name exp)) body)))))
(if (eq struct-type exp) body
(macroexp-let* (list (list struct-type exp)) body)))))
(t)]