2
0
Эх сурвалжийг харах

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

Aleksandr Kuzmenko 5 жил өмнө
parent
commit
eff1844a62

+ 1 - 0
extra/CHANGES.txt

@@ -14,6 +14,7 @@
 	php : fixed return type of extern definition for `fseek` function
 	cs,java : fixed generation of `@:generic` classes with anonymous functions (#9799)
 	jvm : fixed sending/reading messages with `sys.thread.Threads` for threads created outside of Haxe (#9863)
+	jvm : fixed multiplication of `Null<Float>` and `Int` (#9870)
 	flash : fixed loading swc libraries containing `Vector` without a type parameter (#9805)
 	hl : fixed messages being send to wrong threads with `sendMessage`/`readMessage` in `sys.thread.Thread` (#9875)
 

+ 2 - 0
src/generators/genjvm.ml

@@ -889,6 +889,8 @@ class texpr_to_jvm gctx (jc : JvmClass.builder) (jm : JvmMethod.builder) (return
 		| _,TObject((["java";"lang"],"String"),_) ->
 			string_sig
 		| TLong,_ | _,TLong -> TLong
+		| _,TObject((["java";"lang"],"Double"),_)
+		| TObject((["java";"lang"],"Double"),_),_
 		| TDouble,_ | _,TDouble -> TDouble
 		| TFloat,_ | _,TFloat -> TFloat
 		| 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);
+	}
+}