-
Notifications
You must be signed in to change notification settings - Fork 413
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
Use fernflower as the default decompiler #2704
Use fernflower as the default decompiler #2704
Conversation
org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/IDecompiler.java
Outdated
Show resolved
Hide resolved
org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/decompiler/DecompilerImpl.java
Outdated
Show resolved
Hide resolved
org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/decompiler/DecompilerImpl.java
Show resolved
Hide resolved
org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/decompiler/DecompilerImpl.java
Outdated
Show resolved
Hide resolved
...clipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/decompiler/FernFlowerDecompiler.java
Outdated
Show resolved
Hide resolved
test this please |
The failed test cases are random, unrelated to this PR changes. |
For reference, https://github.com/JetBrains/intellij-community/tree/idea/231.9011.34/plugins/java-decompiler/engine#licence . However, I can't find anything at ClearlyDefined or https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues . We Update: Additional concern from @fbricon , does this co-exist well with https://marketplace.visualstudio.com/items?itemName=dgileadi.java-decompiler (source) ? I think the extension gets priority over our "default" provider. Filed at https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues/9099 . |
@rgrunber Thanks for opening the IP issue for legal review.
Yes, the built-in decompiler has the lowest priority. If you install the 3rd party decompiler extension, it will take precedence over the default one. |
@fbricon mentioned something about a clash between the fernflower settings and the ones we set, but I'm not seeing it. The settings this PR sets are at https://github.com/eclipse/eclipse.jdt.ls/pull/2704/files#diff-18fc39092640259fd06479de72a5e1b47512bbf199c9373cc2362f0846b62906R68-R81 and they don't persist beyond the FernFlower instance created, which wouldn't be used if some 3rd part provider contributed a decompiler that took priority. |
They don't share settings with each other. The 3rd party fernflower provider has a setting |
…nflower as default decompiler - eclipse-jdtls/eclipse.jdt.ls#2704
This PR does the following:
ClassFileBytesDisassembler
withfernflower
decompiler, which provides better decompilation results.