nbauma109 / ecd

An Eclipse Plugin to integrate different Class Decompiler seamlessly into the development workflow
Eclipse Public License 1.0
3 stars 0 forks source link

Bump org.vineflower:vineflower from 1.9.3 to 1.10.0 #159

Closed dependabot[bot] closed 6 months ago

dependabot[bot] commented 6 months ago

Bumps org.vineflower:vineflower from 1.9.3 to 1.10.0.

Release notes

Sourced from org.vineflower:vineflower's releases.

Vineflower 1.10.0 is the next major release of Vineflower, bringing a plugin interface to allow interfacing with the decompiler, a prototype Kotlin decompiler, major performance optimizations, and dozens of bugfixes and minor improvements. Thanks to everyone who contributed to this release!

Release highlights:

  • An extensible plugin system, allowing third parties to modify decompiled code without modifying the decompiler itself
  • The addition of a prototype Kotlin decompiler
  • Improvements around variable handling
  • Large amounts of fixes to generics handling
  • Siginifcant improvements to decompiler speed and memory usage

NOTE This release contains two different jars. The "regular" jar, with no classifier, contains both the main decompiler and the three bundled plugins. The "slim" jar, with the "-slim" classifier, contains only the main decompiler itself. If confused, just get the regular jar as usual.

The full changelog is as follows:

  • Added plugin API
  • Added prototype Kotlin decompiler
  • Added support for using MethodParameters attribute when there is no LVT
  • Added text token API
  • Added clashing names analysis
  • Added support for 'Type[]::new' (Thanks, coehlrich!)
  • Added support for variable inlining with pattern matching instanceof (Thanks, coehlrich!)
  • Added more descriptive names for options
  • Added support to hide spurious fields in records if they are already record components
  • Added space between operators (e.g. 'while(...)' -> 'while (...)')
  • Improved help message
  • Improved identification of if-pattern matches
  • Improved standalone '++i' by changing to the more idomatic 'i++' (Thanks, TheKodeTode!)
  • Improved some cases of variables not getting inlined
  • Significantly improved generics handling
  • Moved variable renaming to a separate plugin
  • Fixed a crash with a for loop over a static iterator method
  • Fixed "Invalid constant type" issue
  • Fixed try-with-resources processor creating illegal code with custom exception catching
  • Fixed concurrent modification exception with certain jars
  • Fixed generation of casts to type ""
  • Fixed some cases of fields not getting inlined into usage sites
  • Fixed labels pointing to blocks that don't exist
  • Fixed object casts to boolean type
  • Fixed cases of "Could not properly define all variable types" errors
  • Fixed for unrepresentable types
  • Fixed casts on null types
  • Fixed rare crash with 'longType++'
  • Fixed some multithreading issues
  • Fixed improper nested annotation formatting
  • Fixed casting of arrays with different dimensions
  • Fixed lambdas losing generics information
  • Fixed bug with for loop generation not respecting final variables (Thanks, coehlrich!)
  • Fixed decompiler not considering lambdas when searching for local class placement (Thanks, MiniDigger!)

... (truncated)

Commits
  • e0d0cc0 Merge pull request #353 from Vineflower/develop/1.10.0
  • 1882f77 Disable scala plugin
  • 6876f8f Adjust synthetic parameter identification logic to account for multiple const...
  • 303ad8b Check for anonymous class parents too
  • 79c1c2b Fix default case being removed in non-pattern enum switches
  • d0c0888 Fix short name parsing for varnaming plugin
  • 23f73e1 Fix J21 inner class synthetic params not being removed
  • 56e942b Also remove the .ordinal()
  • 57b23fd Fix switch-on-enum for J21
  • 59d3088 I forgot to add a change :sob:
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)