Skip to content

Add a plugin for unpick v3 #52

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

Open
wants to merge 15 commits into
base: main
Choose a base branch
from
Open

Add a plugin for unpick v3 #52

wants to merge 15 commits into from

Conversation

Matyrobbrt
Copy link
Member

@Matyrobbrt Matyrobbrt commented Jul 17, 2025

This PR implements a constant uninlining plugin based on the Unpick v3 specification.
Constant uninlining is the practice of reverting the inlining of constant values in decompiled code - an optimisation strategy of the compiler. This plugin will read specification files and uninline constant values in the source according to the specification.
In cases where the specification provides a number format (oct, dex or hex), if it is unable to uninline the value to a specific constant, it will convert it to the specified format.

Java is also bumped to Java 21, making this PR a breaking changes. This is done because the Unpick format library requires Java 21. This should not be a problem for our tooling as NFRT already runs with Java 21.
However, a major bump is still needed.

@Matyrobbrt Matyrobbrt added enhancement New feature or request new plugin This request is for a new JST plugin labels Jul 17, 2025
@neoforged-pr-publishing
Copy link

  • Publish PR to GitHub Packages

@Matyrobbrt Matyrobbrt marked this pull request as ready for review July 19, 2025 00:37
@shartte
Copy link
Contributor

shartte commented Jul 19, 2025

J21 is a bit annoying, sadly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request new plugin This request is for a new JST plugin
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants