Bug 325321 - [compiler] Synthetic constructors for non-static inner classes can exceed 255 parameters -> ClassFormatError
Summary: [compiler] Synthetic constructors for non-static inner classes can exceed 255...
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.6   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.7 M2   Edit
Assignee: Olivier Thomann CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-15 05:39 EDT by Satyam Kandula CLA
Modified: 2010-09-23 21:56 EDT (History)
1 user (show)

See Also:
satyam.kandula: review+


Attachments
Proposed fix + regression test (21.13 KB, patch)
2010-09-15 10:07 EDT, Olivier Thomann CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Satyam Kandula CLA 2010-09-15 05:39:53 EDT
This is a FUP of bug 321414. 

bug 321414 had fixed the problems for synthetic methods for private constructors of static inner classes. However, for non-static inner classes, the private constructor takes two additional parameters and both the Eclipse compiler and the Java compiler doesn't take care of it. Both compilers generated codes generate the ClassFormatError at runtime. 

I couldn't find any bug in Java bug database - We probably can file one there.
Comment 1 Olivier Thomann CLA 2010-09-15 10:07:30 EDT
Created attachment 178933 [details]
Proposed fix + regression test
Comment 2 Olivier Thomann CLA 2010-09-15 10:08:00 EDT
Satyam, please review
Comment 3 Satyam Kandula CLA 2010-09-15 10:58:36 EDT
Changes look good to me. 
+1
Comment 4 Olivier Thomann CLA 2010-09-15 11:34:19 EDT
Released for 3.7M2.
Added regression test:
org.eclipse.jdt.core.tests.compiler.regression.ProblemTypeAndMethodTest#test111
org.eclipse.jdt.core.tests.compiler.regression.ProblemTypeAndMethodTest#test112
Comment 5 Olivier Thomann CLA 2010-09-23 21:56:31 EDT
Verified for 3.7M2