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