aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/javassist/JvstTest5.java
diff options
context:
space:
mode:
authorchibash <chiba@javassist.org>2019-12-24 01:02:05 +0900
committerchibash <chiba@javassist.org>2019-12-24 01:02:05 +0900
commit150709141ca5cafa0be64638bbb724aa9879a15d (patch)
tree7bbb0123348e24f1d9b7393d452e509c5fcd6559 /src/test/javassist/JvstTest5.java
parentafe124ffa5794c881c212fb1ebec51a554d0e332 (diff)
downloadjavassist-150709141ca5cafa0be64638bbb724aa9879a15d.tar.gz
javassist-150709141ca5cafa0be64638bbb724aa9879a15d.zip
fixes a bug involuved in Pull Request #294
Diffstat (limited to 'src/test/javassist/JvstTest5.java')
-rw-r--r--src/test/javassist/JvstTest5.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/javassist/JvstTest5.java b/src/test/javassist/JvstTest5.java
index 554538ae..ade41e8c 100644
--- a/src/test/javassist/JvstTest5.java
+++ b/src/test/javassist/JvstTest5.java
@@ -558,4 +558,20 @@ public class JvstTest5 extends JvstTestRoot {
Object obj = make(cc.getName());
assertEquals(71 + 22, invoke(obj, "run"));
}
+
+ // PR #294
+ public void testEmptyArrayInit() throws Exception {
+ CtClass cc = sloader.makeClass("test5.EmptyArrayInit");
+ CtMethod m = CtNewMethod.make("public int[] foo(){ int[] a = {}; return a; }", cc);
+ cc.addMethod(m);
+ CtMethod m2 = CtNewMethod.make("public int[] bar(){ int[] a = new int[]{}; return a; }", cc);
+ cc.addMethod(m2);
+ CtMethod m3 = CtNewMethod.make("public String[] baz(){ String[] a = { null }; return a; }", cc);
+ cc.addMethod(m3);
+ CtMethod m0 = CtNewMethod.make("public int run() { return foo().length + bar().length + baz().length; }", cc);
+ cc.addMethod(m0);
+ cc.writeFile();
+ Object obj = make(cc.getName());
+ assertEquals(1, invoke(obj, "run"));
+ }
}