| st[jvmref -- sks] = refval(r0), st[r -- _type] .type = mkclasstype(class), st[jvmref -- sks0] = refval(r0), fs ' ∈ instfields(class), validrefnotnull(str, r, ty, st), fits(jvmref, sks0, st), fits(jvmref, sks, st) ⊦ r = jvmref, r0 = jvmref, sks = [], sks0 = [], sks0 = sks, is_referencevalue(st[r -- fs ']) |
⊦ validrefnotnull(str, r, ty, st) ↔ r ≠ jvmref ∧ validref(str, r, ty, st)
st[jvmref -- sks] = refval(r0), st[r -- _type] .type = mkclasstype(class), st[jvmref -- sks0] = refval(r0), fs ' ∈ instfields(class), r ≠ jvmref ∧ validref(str, r, ty, st), fits(jvmref, sks0, st), fits(jvmref, sks, st) ⊦ r = jvmref, r0 = jvmref, sks = [], sks0 = [], sks0 = sks, is_referencevalue(st[r -- fs '])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, ty, r, str)]]