浏览代码

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

Cauê Waneck 11 年之前
父节点
当前提交
7352977546
共有 2 个文件被更改,包括 20 次插入0 次删除
  1. 4 0
      std/java/internal/Runtime.hx
  2. 16 0
      tests/unit/issues/Issue2380.hx

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

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