| st[r1 -- _type] .type .type = void_type, i ' .fs = mkfs(class0, ty0, fieldvar0), is_reftype(ty), validref(str, r0, ty, st), is_array(str, r1, st) ⊦ mkfs(class, ty, fieldvar) ' = _length, ty = void_type, validref(str, r0, ty, st[r1 -- i ', refval(jvmref)]) |
⊦ is_array(str, r, st) ↔ type∃(str, st[r -- _type] .type) ∧ st[r -- _type] .type .jtelemtype ≠ void_type ∧ st[r -- _type] .type .jtelemtype ≠ abstract_type ∧ is_array(r, st)
st[r1 -- _type] .type .type = void_type, i ' .fs = mkfs(class0, ty0, fieldvar0), is_reftype(ty), validref(str, r0, ty, st), type∃(str, st[r1 -- _type] .type) ∧ st[r1 -- _type] .type .jtelemtype ≠ void_type ∧ st[r1 -- _type] .type .jtelemtype ≠ abstract_type ∧ is_array(r1, st) ⊦ mkfs(class, ty, fieldvar) ' = _length, ty = void_type, validref(str, r0, ty, st[r1 -- i ', refval(jvmref)])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, r1, str)]]