-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Write classes only once #2637
Write classes only once #2637
Conversation
@rspilker @rzwitserloot Can you please merge this pr? |
As I understand it, you're wrapping the BAOS in a Unfortunately, a quick check of the JDK sources shows that this is not how FOS worked in java7. The volatile boolean was introduced somewhere between 7 and 14. Given that we are still targeting some fairly old versions, I think we need to handroll this boolean. Shouldn't be a problem, it's still only like 5 lines of code. I'll set it up tonight, just informing you that the thing this PR intends to fix will be fixed, but not via this PR. Anything I missed? |
@rzwitserloot That's exactly why I wrapped it in a |
…causing corrupt classfiles Would crash with java.lang.ClassFormatError: Extra bytes at the end of class file de/lomboktest/Application Fixes mplushnikov/lombok-intellij-plugin#969 figuring out the problem was the hard work - credits to @Rawi01 for discovering this
Any chance you update the edge release? |
@mkurz just released a new edge, with this fix. |
Thanks! |
This PR fixes mplushnikov/lombok-intellij-plugin#969.
In
https://github.com/eclipse/eclipse.jdt.core/blob/b3cc25e26a9b327ef6e79fbec3cde4d4fbeb60fc/org.eclipse.jdt.compiler.tool/src/org/eclipse/jdt/internal/compiler/tool/EclipseCompilerImpl.java#L444-L448
the stream gets closed twice. By wrapping the
ByteArrayOutputStream
in aFilterOutputStream
the second close no longer perform any action.@rzwitserloot After merging your latest Tycho changes I get a
java.lang.IllegalArgumentException: argument type mismatch
error. InteliJ does not print a full stacktrace so I do not know what exactly is broken.