| st[r -- _type] = typeval(ty), fis .keys = statfields(class), compatmode(str, st), compatstatic(str, st), okfieldinits(class, fis), r -- _type ∈ st, r ∈ st, is_classtype(ty) ∧ class+∃(str, ty .class) → compatobj(str, r, st), is_arraytype(ty) ∧ ( ¬ has_classtype(ty) ∨ class∃(str, ty .type .jtelemtype .class) ∨ interface∃(str, ty .type .jtelemtype .class) ∨ is_predefined_class(ty .type .jtelemtype .class)) → compatarray(str, r, st) ⊦ is_classtype(ty) ∧ class+∃(str, ty .class) → compatobj(str, r, addclass(class, fis, st)), r = jvmref |
st[r -- _type] = typeval(ty), fis .keys = statfields(class), is_classtype(ty), class+∃(str, ty .class), compatmode(str, st), compatstatic(str, st), okfieldinits(class, fis), r -- _type ∈ st, r ∈ st, compatobj(str, r, st) ⊦ r = jvmref, compatobj(str, r, addclass(class, fis, st))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ is_classtype(ty) → ¬ is_arraytype(ty)])]]