| Summary: | Disassemble fails to disassemble synthetic constructor with varargs arguments | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] JDT | Reporter: | Olivier Thomann <Olivier_Thomann> | ||||
| Component: | Core | Assignee: | Olivier Thomann <Olivier_Thomann> | ||||
| Status: | VERIFIED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | satyam.kandula | ||||
| Version: | 3.7 | ||||||
| Target Milestone: | 3.7 M3 | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
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 |
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.