(defn maybe-instance-field [target-expr class sym]
(when-let [{:keys [flags name type]} (instance-field class sym)]
{:op :instance-field
:assignable? (not (:final flags))
:class class
:instance target-expr
:field name
:tag type
:o-tag type
:children [:instance]}))