瀏覽代碼

[cs] applied patch and fixed issue #1708

Caue Waneck 12 年之前
父節點
當前提交
f9a52abeab
共有 1 個文件被更改,包括 5 次插入0 次删除
  1. 5 0
      gencommon.ml

+ 5 - 0
gencommon.ml

@@ -4923,6 +4923,11 @@ struct
       let was_in_value = !in_value in
       in_value := true;
       match e.eexpr with
+        | TBinop ( (Ast.OpAssign as op),e1,e2)
+        | TBinop ( (Ast.OpAssignOp _ as op),e1,e2) when was_in_value ->
+          let e1r = run e1 ~just_type:true in
+          let r = { e with eexpr = TBinop(op, e1r, handle (run e2) e1r.etype e2.etype); etype = e1.etype } in
+          handle r e1.etype e1r.etype
         | TBinop ( (Ast.OpAssign as op),({ eexpr = TField(tf, f) } as e1), e2 )
         | TBinop ( (Ast.OpAssignOp _ as op),({ eexpr = TField(tf, f) } as e1), e2 ) ->
           (match field_access gen (gen.greal_type tf.etype) (field_name f) with