diff options
author | chibash <chiba@javassist.org> | 2019-12-24 01:02:05 +0900 |
---|---|---|
committer | chibash <chiba@javassist.org> | 2019-12-24 01:02:05 +0900 |
commit | 150709141ca5cafa0be64638bbb724aa9879a15d (patch) | |
tree | 7bbb0123348e24f1d9b7393d452e509c5fcd6559 /src/test/javassist/JvstTest5.java | |
parent | afe124ffa5794c881c212fb1ebec51a554d0e332 (diff) | |
download | javassist-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.java | 16 |
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")); + } } |