Summary: | [compiler] Should default constructors have synthetic attributes | ||
---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Jim des Rivieres <jeem> |
Component: | Core | Assignee: | Olivier Thomann <Olivier_Thomann> |
Status: | RESOLVED WONTFIX | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | ||
Version: | 3.0 | ||
Target Milestone: | 3.0 M5 | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Bug Depends on: | |||
Bug Blocks: | 46699 |
Description
Jim des Rivieres
2003-11-14 22:40:14 EST
javac doesn't add the synthetic attribute for the default constructor. So do we. jikes is not doing it as well. We should run the JCK with a patched version of the batch compiler that sets the synthetic attribute for default constructor. The synthetic attribute got added around innerclass extension. Default constructors did exist already, and were therefore not using it. For backward compatibility issues, this was never added very likely... I wouldn't change this assumption at this stage, unless this is officially coming from the language owner. Though it would ease our customer by allowing them to tell when using synthetic artifacts. Moving to later From Neal Gafter, the answer is no. "No. The "synthetic" flag is for things that are an artifact of the implementaiton and do not affect the API. Default constructors are part of the API of a class." So the synthetic attribute will never be used for the default constructor. I guess we can close this bug as WONTFIX and update the javadoc of the isSynthetic() method. I agree. Close as WONTFIX. |