Kaynağa Gözat

[java] Allow null parameters in native reflection functions - Closes #2380

Cauê Waneck 11 yıl önce
ebeveyn
işleme
7352977546

+ 4 - 0
std/java/internal/Runtime.hx

@@ -394,6 +394,10 @@ package java.internal;
 		for (int i = 0; i < len; i++)
 		for (int i = 0; i < len; i++)
 		{
 		{
 			Object o = args.__get(i);
 			Object o = args.__get(i);
+			if (o == null)
+			{
+				continue; //can be anything
+			}
 			objs[i]= o;
 			objs[i]= o;
 			cls[i] = o.getClass();
 			cls[i] = o.getClass();
 			boolean isNum = false;
 			boolean isNum = false;

+ 16 - 0
tests/unit/issues/Issue2380.hx

@@ -0,0 +1,16 @@
+package unit.issues;
+
+class Issue2380 extends unit.Test
+{
+	public function test()
+	{
+		var cls:Dynamic = new SomeCls();
+		t(cls.test(null));
+	}
+}
+
+@:nativeGen private class SomeCls
+{
+    public function new():Void {}
+    @:keep public function test(v) return v == null;
+}