فهرست منبع

Allow extern to have field name that is used for both static and instance.

Andy Li 10 سال پیش
والد
کامیت
0f7efe21af
1فایلهای تغییر یافته به همراه1 افزوده شده و 1 حذف شده
  1. 1 1
      typeload.ml

+ 1 - 1
typeload.ml

@@ -2707,7 +2707,7 @@ module ClassInitializer = struct
 					()
 				| FKNormal ->
 					let dup = if fctx.is_static then PMap.exists cf.cf_name c.cl_fields || has_field cf.cf_name c.cl_super else PMap.exists cf.cf_name c.cl_statics in
-					if not cctx.is_native && dup then error ("Same field name can't be use for both static and instance : " ^ cf.cf_name) p;
+					if not cctx.is_native && not c.cl_extern && dup then error ("Same field name can't be use for both static and instance : " ^ cf.cf_name) p;
 					if List.mem AOverride f.cff_access then c.cl_overrides <- cf :: c.cl_overrides;
 					let is_var f = match cf.cf_kind with | Var _ -> true | _ -> false in
 					if PMap.mem cf.cf_name (if fctx.is_static then c.cl_statics else c.cl_fields) then