| st[r0 -- i '] = refval(jvmref), st[r0 -- _type] .type = mkarraytype(ty0), r0 ∈ st, i < st[r0 -- _length] .intval, mkarraytype(ty0) ≤ ty, is_array(str, r0, st), 0 < st[r0 -- _length] .intval, 0 ≤ i, okarray(r0, ty0, st), is_typevalue(st[r0 -- _type]), r0 -- _type ∈ st ⊦ r0 = jvmref, ty0 = void_type, is_reftype(ty0) |
st[r0 -- _type] = typeval(ty1), st[r0 -- i '] = refval(jvmref), ty1 = mkarraytype(ty0), r0 ∈ st, i < st[r0 -- _length] .intval, mkarraytype(ty0) ≤ ty, is_array(str, r0, st), 0 < st[r0 -- _length] .intval, 0 ≤ i, okarray(r0, ty0, st), is_typevalue(st[r0 -- _type]), r0 -- _type ∈ st ⊦ r0 = jvmref, ty0 = void_type, is_reftype(ty0)
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ is_typevalue(val) → ( ty = val .type ↔ val = typeval(ty))])], [EXTRATERMS : (st[r0 -- _type], ty1)]]