| st[r -- _type] = typeval(mkclasstype(class)), r ∈ st, r -- _type ∈ st, class+∃(str, class), mkfs(class0, ty, fieldvar) ' ∈ instfields(class), mkfs(class0, ty, fieldvar) ' ∈ instfields(class) → r -- mkfs(class0, ty, fieldvar) ' ∈ st ∧ is_fskey(mkfs(class0, ty, fieldvar) ') ∧ compat(str, st[r -- mkfs(class0, ty, fieldvar) '], mkfs(class0, ty, fieldvar) ' .fs .type, st) ⊦ r = jvmref, r -- mkfs(class0, ty, fieldvar) ' ∈ st ∧ okval(st[r -- mkfs(class0, ty, fieldvar) '], ty) |
st[r -- _type] = typeval(mkclasstype(class)), r ∈ st, r -- _type ∈ st, class+∃(str, class), mkfs(class0, ty, fieldvar) ' ∈ instfields(class), r -- mkfs(class0, ty, fieldvar) ' ∈ st, compat(str, st[r -- mkfs(class0, ty, fieldvar) '], ty, st) ⊦ r = jvmref, okval(st[r -- mkfs(class0, ty, fieldvar) '], ty)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ mkfs(class, ty, fieldvar) .type = ty], [CSIMPSEQ : ⊦ fs ' .fs = fs], [CSIMPSEQ : ⊦ is_fskey(fs ')])]]