|
@@ -146,7 +146,11 @@ let create_static_ctor com ~empty_ctor_expr cl ctor follow_type =
|
|
|
) cur_tf_args in
|
|
|
|
|
|
let static_ctor = mk_class_field static_ctor_name fn_type false ctor.cf_pos (Method MethNormal) ctor_types in
|
|
|
- static_ctor.cf_meta <- (Meta.Protected,[],ctor.cf_pos) :: static_ctor.cf_meta;
|
|
|
+ let static_ctor_meta = match Meta.has Meta.Final cl.cl_meta with
|
|
|
+ | true -> Meta.Private
|
|
|
+ | false -> Meta.Protected
|
|
|
+ in
|
|
|
+ static_ctor.cf_meta <- (static_ctor_meta,[],ctor.cf_pos) :: static_ctor.cf_meta;
|
|
|
|
|
|
(* change ctor contents to reference the 'me' var instead of 'this' *)
|
|
|
let actual_super_call = ref None in
|