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