Sfoglia il codice sorgente

(Flash8) fix TEnumParameter (closes #2728)

Simon Krajewski 11 anni fa
parent
commit
9383e61d2e
2 ha cambiato i file con 22 aggiunte e 1 eliminazioni
  1. 1 1
      genswf8.ml
  2. 21 0
      tests/unit/issues/Issue2728.hx

+ 1 - 1
genswf8.ml

@@ -590,7 +590,7 @@ let rec gen_access ?(read_write=false) ctx forcall e =
 		VarClosure
 	| TEnumParameter(e,_,i) ->
 		gen_expr ctx true e;
-		push ctx [VInt i];
+		push ctx [VInt (i + 2)];
 		VarObj
 	| TField (e2,f) ->
 		gen_expr ctx true e2;

+ 21 - 0
tests/unit/issues/Issue2728.hx

@@ -0,0 +1,21 @@
+package unit.issues;
+import unit.Test;
+
+private enum E {
+	A(d:Dynamic);
+	B;
+}
+
+class Issue2728 extends Test {
+	function test() {
+		var o = { foo: 12 };
+		var a = A(o);
+		var v = null;
+		switch(a) {
+			case A(d):
+				v = d;
+			case B:
+		}
+		eq(o, v);
+	}
+}