Function: majutsu-template--register-method-spec
majutsu-template--register-method-spec is a natively compiled function
defined in majutsu-template.el.
Signature
(majutsu-template--register-method-spec OWNER METHOD-SPEC)
Documentation
Register method METADATA described by METHOD-SPEC for OWNER type.
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-template.el
(defun majutsu-template--register-method-spec (owner method-spec)
"Register method METADATA described by METHOD-SPEC for OWNER type."
(let* ((method-name (car method-spec))
(plist (cdr method-spec))
(template-name (or (plist-get plist :template-name)
(symbol-name method-name)))
(keyword-flag (and (plist-get plist :keyword) t))
(raw-args (plist-get plist :args))
(returns (majutsu-template--parse-type-name
(or (plist-get plist :returns) 'Template)))
(returns-via (plist-get plist :returns-via))
(doc (plist-get plist :doc))
(args-specs (cons `(self ,owner) (or raw-args '())))
(parsed-args (majutsu-template--parse-args method-name args-specs))
(returns-via (majutsu-template--validate-returns-via
method-name returns-via parsed-args))
(owner (majutsu-template--ensure-owner-type owner method-name))
(meta (majutsu-template--make-fn
:name template-name
:symbol 'majutsu-template--method-stub
:args parsed-args
:returns returns
:returns-via returns-via
:doc doc
:owner owner
:keyword keyword-flag)))
(majutsu-template--register-function meta)))