| 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_arraytype(ty) ∧ (¬ has_classtype(ty) ∨ tdname+∃(str, ty .type .jtelemtype .class)) → compatarray(str, r, addclass(class, fis, st)), r = jvmref |
st[r -- _type] = typeval(ty), fis .keys = statfields(class), is_arraytype(ty), compatmode(str, st), compatstatic(str, st), okfieldinits(class, fis), r -- _type ∈ st, r ∈ st, ¬ has_classtype(ty) ∨ tdname+∃(str, ty .type .jtelemtype .class), ¬ 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) ⊦ r = jvmref, compatarray(str, r, addclass(class, fis, st))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ is_arraytype(ty) → ¬ is_classtype(ty)])]]