Community
Participate
Working Groups
Compiling the following code: public class X { private static final String CONST = ""; public static class A { A(Integer i, String... tab) {} } Object foo(final Float f) { return new A(new Integer(0), CONST) { public String toString() { return f.toString(); } }; } } and trying to disassemble it fails with an IllegalArgumentException in the Signature class.
The stacktrace is: java.lang.IllegalArgumentException at org.eclipse.jdt.core.Signature.appendTypeSignature(Signature.java:2330) at org.eclipse.jdt.core.Signature.toCharArray(Signature.java:2207) at org.eclipse.jdt.internal.core.util.Disassembler.disassemble(Disassembler.java:526) at org.eclipse.jdt.internal.core.util.Disassembler.disassembleTypeMembers(Disassembler.java:1966) at org.eclipse.jdt.internal.core.util.Disassembler.disassemble(Disassembler.java:888) at org.eclipse.jdt.internal.core.util.Disassembler.disassemble(Disassembler.java:239)
Created attachment 181293 [details] Proposed fix + regression test
Released for 3.7M3. Added regression test in: org.eclipse.jdt.core.tests.compiler.regression.VarargsTest#test062
Verified for 3.7M3 using build I20101025-0901