Browse Source

[typer] add @:impl to abstract members for backwards compatibility

Simon Krajewski 5 years ago
parent
commit
7f28943a46
1 changed files with 4 additions and 1 deletions
  1. 4 1
      src/typing/typeloadFields.ml

+ 4 - 1
src/typing/typeloadFields.ml

@@ -908,7 +908,10 @@ let create_variable (ctx,cctx,fctx) c f t eo p =
 	} in
 	} in
 	if fctx.is_final then add_class_field_flag cf CfFinal;
 	if fctx.is_final then add_class_field_flag cf CfFinal;
 	if fctx.is_extern then add_class_field_flag cf CfExtern;
 	if fctx.is_extern then add_class_field_flag cf CfExtern;
-	if fctx.is_abstract_member then add_class_field_flag cf CfImpl;
+	if fctx.is_abstract_member then begin
+		cf.cf_meta <- ((Meta.Custom ":impl"),[],null_pos) :: cf.cf_meta;
+		add_class_field_flag cf CfImpl;
+	end;
 	if Meta.has Meta.Enum cf.cf_meta then add_class_field_flag cf CfEnum;
 	if Meta.has Meta.Enum cf.cf_meta then add_class_field_flag cf CfEnum;
 	ctx.curfield <- cf;
 	ctx.curfield <- cf;
 	bind_var (ctx,cctx,fctx) cf eo;
 	bind_var (ctx,cctx,fctx) cf eo;