| st[r1 -- _type] = typeval(ty0), is_arraytype(st[r0 -- _type] .type), mkarraytype(ty) ≤ st[r0 -- _type] .type, junkrefs(str, r ' + refs0, st[r -- _type] .type, st[r0 -- i ', refval(r1)]), ty0 ≤ ty ⊦ r0 = jvmref, r1 = jvmref, junkref(str, r, st), junkref(str, r1, st), mkarraytype(ty0) ≤ st[r0 -- _type] .type |
⊦ mkarraytype(ty) ≤ ty0 ↔ ty0 = mkclasstype(`java.lang.Object' .class) ∨ is_arraytype(ty0) ∧ ty ≤ ty0 .type
st[r1 -- _type] = typeval(ty0), is_arraytype(st[r0 -- _type] .type), st[r0 -- _type] .type = mkclasstype(`java.lang.Object' .class) ∨ is_arraytype(st[r0 -- _type] .type) ∧ ty ≤ st[r0 -- _type] .type .type, junkrefs(str, r ' + refs0, st[r -- _type] .type, st[r0 -- i ', refval(r1)]), ty0 ≤ ty ⊦ r0 = jvmref, r1 = jvmref, junkref(str, r, st), junkref(str, r1, st), mkarraytype(ty0) ≤ st[r0 -- _type] .type
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st[r0 -- _type] .type, ty)]]