We are very happy to see a growing interest in contributing to javac
from the members of java.net. However, we are also beginning to see
a number of submissions which we have to turn down.
To improve your chances of getting a compiler fix accepted, please
follow these few rules of thumb:
- Always include a bug ID
- If you don't include a bug ID, that is probably because there isn't
one. This makes it likely that you are ignoring the following advices.
- Don't submit fixes that would require a JLS change
- The Java programming language is specified by the JLS. If you want
to add a new language feature, then you need to go through the JCP.
- Don't submit fixes for specification issues
- This is related to the previous advice. If you think that the language
need a new feature, you really need to get engaged in the JCP.
- Make sure that you understand the JLS
- It is often easy to make a change to javac which makes it behave as
you would like. But the compiler has to follow the specification.
- Don't submit fixes for closed bugs
- If a bug is closed, no further fixes are needed. If you disagree, file
a new bug (or better yet, add a comment).
I know that sometimes getting a bug accepted can take a while,
if so, please send me a note and tell me your incident number.
- Know your acronyms
- You need to know what JCK/TCK, JSR, JCP, and JLS mean.

- Don't submit fixes without tests
- There are no excuses for not testing your code. Ever!
This query is a good starting point for finding open compiler bugs:
"java:compiler" "in progress" site:bugs.sun.com