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)))