You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
do_bind = (((not ((has_class_flag c CExtern) ||!is_extern) || is_inline) &¬ is_abstract &¬ (has_class_flag c CInterface)) || field_kind =CfrInit);
@@ -631,7 +633,7 @@ let check_field_display ctx fctx c cf =
631
633
let scope, cf =match c.cl_kind with
632
634
|KAbstractImpl_ ->
633
635
if has_class_field_flag cf CfImplthen
634
-
(ifcf.cf_name ="_new"then
636
+
(iffctx.is_abstract_constructorthen
635
637
CFSConstructor, {cf with cf_name ="new"}
636
638
else
637
639
CFSMember, cf)
@@ -927,6 +929,7 @@ let create_variable (ctx,cctx,fctx) c f cf t eo p =
927
929
cf
928
930
929
931
letcheck_abstract (ctx,cctx,fctx) accffdtretp=
932
+
if fctx.is_abstract_constructor && a.a_constructor =None(* TODO: this is pretty dumb, it deals with the overload case *)then a.a_constructor <-Some cf;
930
933
let m = mk_mono()in
931
934
let ta =TAbstract(a,List.map (fun_ -> mk_mono()) a.a_params) in
932
935
let tthis =if fctx.is_abstract_member ||Meta.has Meta.To cf.cf_meta then monomorphs a.a_params a.a_this else a.a_this in
@@ -978,10 +981,11 @@ let check_abstract (ctx,cctx,fctx) a c cf fd t ret p =
0 commit comments