Browse Source

[java] fix Reflect.makeVarArgs() for calls with no arguments (fixes #9037)

Aleksandr Kuzmenko 5 years ago
parent
commit
33251aefd5
2 changed files with 11 additions and 1 deletions
  1. 1 1
      std/java/internal/Function.hx
  2. 10 0
      tests/unit/src/unit/issues/Issue9037.hx

+ 1 - 1
std/java/internal/Function.hx

@@ -50,7 +50,7 @@ import java.internal.Runtime;
 	}
 
 	override public function __hx_invokeDynamic(dynArgs:java.NativeArray<Dynamic>):Dynamic {
-		return fun(@:privateAccess Array.ofNative(dynArgs));
+		return fun(dynArgs == null ? [] : @:privateAccess Array.ofNative(dynArgs));
 	}
 }
 

+ 10 - 0
tests/unit/src/unit/issues/Issue9037.hx

@@ -0,0 +1,10 @@
+package unit.issues;
+
+class Issue9037 extends unit.Test {
+	function test() {
+		var f = function(args:Array<Dynamic>) {};
+		var f:Dynamic = Reflect.makeVarArgs(f);
+		f();
+		noAssert();
+	}
+}