diff options
Diffstat (limited to 'bytecomp/translclass.ml')
| -rw-r--r-- | bytecomp/translclass.ml | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/bytecomp/translclass.ml b/bytecomp/translclass.ml index 03f575920d..e71e77fa7c 100644 --- a/bytecomp/translclass.ml +++ b/bytecomp/translclass.ml @@ -195,7 +195,8 @@ let rec build_object_init cl_table obj params inh_init obj_init cl = build_object_init cl_table obj (vals @ params) inh_init obj_init cl in (inh_init, Translcore.transl_let rec_flag defs obj_init) - | Tcl_constraint (cl, _, _vals, _pub_meths, _concr_meths) -> + | Tcl_open (_, _, _, _, cl) + | Tcl_constraint (cl, _, _, _, _) -> build_object_init cl_table obj params inh_init obj_init cl let rec build_object_init_0 cl_table params cl copy_env subst_env top ids = @@ -386,6 +387,8 @@ let rec build_class_init cla cstr super inh_init cl_init msubst top cl = Lsequence(mkappl (oo_prim "narrow", narrow_args), cl_init)) end + | Tcl_open (_, _, _, _, cl) -> + build_class_init cla cstr super inh_init cl_init msubst top cl let rec build_class_lets cl ids = match cl.cl_desc with @@ -407,6 +410,7 @@ let rec get_class_meths cl = | Tcl_fun (_, _, _, cl, _) | Tcl_let (_, _, _, cl) | Tcl_apply (cl, _) + | Tcl_open (_, _, _, _, cl) | Tcl_constraint (cl, _, _, _, _) -> get_class_meths cl (* @@ -452,6 +456,8 @@ let rec transl_class_rebind obj_init cl vf = in check_constraint cl.cl_type; (path, obj_init) + | Tcl_open (_, _, _, _, cl) -> + transl_class_rebind obj_init cl vf let rec transl_class_rebind_0 self obj_init cl vf = match cl.cl_desc with |
