ソースを参照

[dce] don't add has_enum feature for @:fakeEnum enums (closes #4647)

Dan Korostelev 9 年 前
コミット
f7c1098d06
1 ファイル変更5 行追加1 行削除
  1. 5 1
      dce.ml

+ 5 - 1
dce.ml

@@ -138,7 +138,11 @@ end
 
 let rec mark_enum dce e = if not (Meta.has Meta.Used e.e_meta) then begin
 	e.e_meta <- (Meta.Used,[],e.e_pos) :: e.e_meta;
-	check_and_add_feature dce "has_enum";
+
+	(* do not generate has_enum feature for @:fakeEnum enums since they are not really enums *)
+	if not (Meta.has Meta.FakeEnum e.e_meta) then
+		check_and_add_feature dce "has_enum";
+
 	check_feature dce (Printf.sprintf "%s.*" (s_type_path e.e_path));
 	PMap.iter (fun _ ef -> mark_t dce ef.ef_pos ef.ef_type) e.e_constrs;
 end