typed.clj.analyzer.passes.analyze-host-expr
-analyze-host-expr
(-analyze-host-expr target-type m-or-f target-expr class env)
analyze-host-call
(analyze-host-call target-type method args target-expr class env)
analyze-host-expr
(analyze-host-expr {:keys [op target form tag env class], :as ast} opts)
Performing some reflection, transforms :host-interop/:host-call/:host-field
nodes in either: :static-field, :static-call, :instance-call, :instance-field
or :host-interop nodes, and a :var/:maybe-class/:maybe-host-form node in a :const :class node,
if necessary (class literals shadow Vars).
A :host-interop node represents either an instance-field or a no-arg instance-method.
analyze-host-field
(analyze-host-field target-type field target-expr class env)
maybe-instance-field
(maybe-instance-field target-expr class sym)
maybe-instance-method
(maybe-instance-method class sym form)
maybe-instance-method-call
(maybe-instance-method-call target-expr class sym)
maybe-static-field
(maybe-static-field [_ class sym])
maybe-static-method
(maybe-static-method class sym form)
maybe-static-method-call
(maybe-static-method-call [_ class sym])