| (addobj(r, class, [], st)[r0 -- _type]) = typeval(ty), r0 -- _type ∈ addobj(r, class, [], st), is_typevalue(addobj(r, class, [], st)[r0 -- _type]), compatrefs(str, st), compatstatic(str, st), compatmode(str, st), newref(r, st), is_predefined_class(class), r0 ∈ addobj(r, class, [], st) ⊦ r0 = jvmref, r = jvmref, (is_classtype(ty) ∧ class+∃(str, ty .class) → compatobj(str, r0, addobj(r, class, [], st))) ∧ (is_arraytype(ty) ∧ (¬ has_classtype(ty) ∨ tdname+∃(str, ty .type .jtelemtype .class)) → compatarray(str, r0, addobj(r, class, [], st))) |
(addobj(r, class, [], st)[r0 -- _type]) = typeval(ty), r0 ∈ addobj(r, class, [], st), is_predefined_class(class), newref(r, st), compatmode(str, st), compatstatic(str, st), compatrefs(str, st), r0 -- _type ∈ addobj(r, class, [], st) ⊦ r = jvmref, r0 = jvmref, (is_classtype(ty) ∧ class+∃(str, ty .class) → compatobj(str, r0, addobj(r, class, [], st))) ∧ (is_arraytype(ty) ∧ (¬ has_classtype(ty) ∨ tdname+∃(str, ty .type .jtelemtype .class)) → compatarray(str, r0, addobj(r, class, [], st)))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ is_typevalue(typeval(ty))])]]