-
Notifications
You must be signed in to change notification settings - Fork 85
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
Merge 1.8.0 update #91
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Not sure if this is doing everything correctly, but it does fix the test- will keep until more complexity reveals itself or other problems are discovered
- Fix instances where lack of cast or improper cast will cause methods to not recompile properly
* Add test for ugly if-else chain * Add todo
…into develop/1.8.0
I tried my best to analyze this with as many different test cases as I could, to get a grasp of the full algorithm. This thing is frighteningly complex and this is just a start in understanding what is going on here
…lly different code
- Adds baseline support for pattern matching switch expressions, which require some more custom support. This can eventually be refactored and added onto the switch expression helper, to consolidate the logic.
- I just forgot to push them, here they are now.
* Close opened file systems * cleanup * fix * make jrt lazy again * fix for real
- Fix pattern matching with loops, now properly assigned to - Significantly improve pattern matching with nested if statements, now creates && properly - If statements are now not reordered if they contain pattern matches, as that requires further complex analysis - Small improvements to Experent#getAllExprents api Further work: `Conditional` interface for if statements and loop, as well as hooking all this up to SSA/U
- Adds minimal support for pattern matching variables to used in var dependency graphs (should not change anything) - Adds a bit more debug for ssau dot exporting
- Causes a basic block initialization failure - Used from https://github.com/leibnitz27/cfr_tests/blob/master/src_6/org/benf/cfr/tests/ExceptionTestFinally20d.java
…into develop/1.8.0
- Some preferences were excluded as it's not intended for users to modify them, such as unit test mode
…r the most common use case - Synthetic members are now hidden by default - Generic signatures are decompiled by default, as there is usually no case where you don't want that - Pattern matching is now enabled by default - Ternary conditions in if statements are now disabled by default as they cause many issues
…#84) * Adjust IResultSaver to support both Fabricflower and Forgeflower APIs * build: remove deprecated gradle api * whitespace
- It now properly decompiles more things, and doesn't cause extra problems and decompilation failures as a side effect. It specifically targets when if statements are built and triggers a full postdominator set calculation and general statement finding, which properly decomposes the graph.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The contents of the 1.8.0 update.
Changelog:
The changelog for this version is very long, so here are the highlights:
Click here to expand the full changelog
Implementation-Name: Quiltflower
to jar manifest (thanks jnp!)method()[i] += 0;
not being properly inlinedsuper
keyword (contravariance)