resolve
(resolve quoted-sym)
Source docstring:
Returns the var to which a symbol will be resolved in the namespace else nil.
(core/defmacro resolve
[quoted-sym]
(core/assert
(core/and (seq? quoted-sym)
(= 'quote (first quoted-sym)))
"Argument to resolve must be a quoted symbol")
(core/let [sym (second quoted-sym)
env &env
[var meta] (try
(core/let [var (ana/resolve-var env sym (ana/confirm-var-exists-throw)) ]
[var (ana/var-meta var)])
(catch #?@(:clj [Throwable t] :cljs [:default e])
[(ana/resolve-var env sym) nil]))
resolved (vary-meta (:name var) assoc ::ana/no-resolve true)]
`(when (exists? ~resolved)
(cljs.core/Var. (fn [] ~resolved) '~resolved ~meta))))