浏览代码

[python] keep array getter/setter when we increment/decrement on it (closes #4403)

Simon Krajewski 9 年之前
父节点
当前提交
0a4e7f8114
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      dce.ml

+ 4 - 0
dce.ml

@@ -404,6 +404,10 @@ and expr dce e =
 	| TCall ({eexpr = TConst TSuper} as e,el) ->
 	| TCall ({eexpr = TConst TSuper} as e,el) ->
 		mark_t dce e.epos e.etype;
 		mark_t dce e.epos e.etype;
 		List.iter (expr dce) el;
 		List.iter (expr dce) el;
+	| TUnop((Increment | Decrement),_,({eexpr = TArray _} as e1)) ->
+		check_and_add_feature dce "array_write";
+		check_and_add_feature dce "array_read";
+		expr dce e1;
 	| TBinop(OpAdd,e1,e2) when is_dynamic e1.etype || is_dynamic e2.etype ->
 	| TBinop(OpAdd,e1,e2) when is_dynamic e1.etype || is_dynamic e2.etype ->
 		check_and_add_feature dce "add_dynamic";
 		check_and_add_feature dce "add_dynamic";
 		expr dce e1;
 		expr dce e1;