Browse Source

[jvm] fixed `Null<Float> * Int` multiplication
(closes #9870)

Aleksandr Kuzmenko 5 years ago
parent
commit
a9f241fc59
2 changed files with 16 additions and 0 deletions
  1. 2 0
      src/generators/genjvm.ml
  2. 14 0
      tests/unit/src/unit/issues/Issue9870.hx

+ 2 - 0
src/generators/genjvm.ml

@@ -926,6 +926,8 @@ class texpr_to_jvm gctx (jc : JvmClass.builder) (jm : JvmMethod.builder) (return
 		| _,TObject((["java";"lang"],"String"),_) ->
 		| _,TObject((["java";"lang"],"String"),_) ->
 			string_sig
 			string_sig
 		| TLong,_ | _,TLong -> TLong
 		| TLong,_ | _,TLong -> TLong
+		| _,TObject((["java";"lang"],"Double"),_)
+		| TObject((["java";"lang"],"Double"),_),_
 		| TDouble,_ | _,TDouble -> TDouble
 		| TDouble,_ | _,TDouble -> TDouble
 		| TFloat,_ | _,TFloat -> TFloat
 		| TFloat,_ | _,TFloat -> TFloat
 		| TInt,_ | _,TInt -> TInt
 		| TInt,_ | _,TInt -> TInt

+ 14 - 0
tests/unit/src/unit/issues/Issue9870.hx

@@ -0,0 +1,14 @@
+package unit.issues;
+
+import utest.Assert.floatEquals;
+
+class Issue9870 extends unit.Test {
+	function test() {
+		var t:Null<Float> = Math.random();
+		var a = t * 2.0;
+		var b = t * 2;
+		var c = 2 * t;
+		floatEquals(a, b);
+		floatEquals(a, c);
+	}
+}