浏览代码

always filter empty abstract implementation classes (closes #1885)

Simon Krajewski 12 年之前
父节点
当前提交
2810a1eeb9
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. 5 0
      main.ml

+ 5 - 0
main.ml

@@ -1227,6 +1227,11 @@ try
 			Codegen.detect_usage com;
 		let dce_mode = (try Common.defined_value com Define.Dce with _ -> "no") in
 		if not (!gen_as3 || dce_mode = "no" || Common.defined com Define.DocGen) then Dce.run com main (dce_mode = "full" && not !interp);
+		(* always filter empty abstract implementation classes (issue #1885) *)
+		List.iter (fun mt -> match mt with
+			| TClassDecl({cl_kind = KAbstractImpl _} as c) when c.cl_ordered_statics = [] && c.cl_ordered_fields = [] -> c.cl_extern <- true
+			| _ -> ()
+		) com.types;
 		let type_filters = [
 			Codegen.check_private_path;
 			Codegen.remove_generic_base;