| st[_mode] = return(val, ty), is_return_mode(st[_mode]), compat(str, val, ty, st), is_predefined_class(class), newref(r, st), _mode ∈ st, compatstatic(str, st), compatrefs(str, st) ⊦ st[_mode] = return(noval, void_type), st[_mode] = noval, r = jvmref, is_break_mode(st[_mode]), compat(str, val, ty, st[r -- _type, typeval(mkclasstype(class))]), is_throw_mode(st[_mode]) |
st[_mode] = return(val, ty), compatrefs(str, st), compatstatic(str, st), _mode ∈ st, newref(r, st), is_predefined_class(class), compat(str, val, ty, st) ⊦ r = jvmref, return(val, ty) = return(noval, void_type), compat(str, val, ty, st[r -- _type, typeval(mkclasstype(class))])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ is_break_mode(return(val, ty))], [CSIMPSEQ : ⊦ ¬ is_throw_mode(return(val, ty))], [CSIMPSEQ : ⊦ is_return_mode(return(val, ty))], [CSIMPSEQ : ⊦ noval ≠ return(val, ty)])]]