aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dcevm/src/test/java7/com/github/dcevm/test/methods/MethodReflectionTest.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/dcevm/src/test/java7/com/github/dcevm/test/methods/MethodReflectionTest.java b/dcevm/src/test/java7/com/github/dcevm/test/methods/MethodReflectionTest.java
index a5304734..6b04e702 100644
--- a/dcevm/src/test/java7/com/github/dcevm/test/methods/MethodReflectionTest.java
+++ b/dcevm/src/test/java7/com/github/dcevm/test/methods/MethodReflectionTest.java
@@ -149,4 +149,47 @@ public class MethodReflectionTest {
Assert.assertFalse(found);
}
+
+ // Version 0
+ public static class TestArgumentRedefined {
+ public static String hello(TestArgumentRedefined arg) {
+ return arg.doHello();
+ }
+
+ public String doHello() {
+ return "hello0";
+ }
+ }
+
+ public static class TestArgumentRedefined___1 {
+ public static String hello(TestArgumentRedefined arg) {
+ return arg.doHello();
+ }
+
+ public String doHello() {
+ return "hello1";
+ }
+ }
+
+ @Test
+ public void testReflectionArgumentRedefined() throws Exception {
+
+ assert __version__() == 0;
+
+ TestArgumentRedefined t = new TestArgumentRedefined();
+ Method declaredMethod = TestArgumentRedefined.class.getDeclaredMethod("hello",
+ TestArgumentRedefined.class);
+
+
+ for (int i = 0; i < 10; i++) {
+ assertEquals("hello0", declaredMethod.invoke(null, t));
+
+ __toVersion__(1);
+
+ assertEquals("hello1", declaredMethod.invoke(null, t));
+
+ __toVersion__(0);
+ }
+ }
+
}