فهرست منبع

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

Aleksandr Kuzmenko 5 سال پیش
والد
کامیت
33251aefd5
2فایلهای تغییر یافته به همراه11 افزوده شده و 1 حذف شده
  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 {
 	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();
+	}
+}