Function: majutsu-template--resolve-method-return-via

majutsu-template--resolve-method-return-via is a natively compiled function defined in majutsu-template.el.

Signature

(majutsu-template--resolve-method-return-via META ARGS FALLBACK)

Documentation

Resolve META's :returns-via against ARGS, defaulting to FALLBACK.

Source Code

;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-template.el
(defun majutsu-template--resolve-method-return-via (meta args fallback)
  "Resolve META's `:returns-via' against ARGS, defaulting to FALLBACK."
  (pcase (majutsu-template--fn-returns-via meta)
    (`(:list-of-lambda-return ,arg-name)
     (let* ((specs (cdr (majutsu-template--fn-args meta)))
            (index (cl-position arg-name specs
                                :key #'majutsu-template--arg-name
                                :test #'eq))
            (arg-node (and index (nth index args)))
            (mapped-type (and arg-node
                              (majutsu-template--type-ref-lambda-return-type
                               (majutsu-template-node-type arg-node)))))
       (list :list (or mapped-type 'Template))))
    (_ fallback)))