-
Notifications
You must be signed in to change notification settings - Fork 5k
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
[feature] Support manual constant uninlining #2395
Comments
Nice idea for a new jadx plugin! |
Give me cli command to use this but no gui |
@Beast833 @NebelNidas Adding an unpick definition loader to Android linter plugin should not break anything: I'm sure Android linter rules don't break Minecraft Java Edition and Minecraft Java Edition rules don't break Minecraft Bedrock Edition for Android. Would it be possible to distribute the unpick v3 definitions and the loader as a library? This way the unpick support library and definitions could be used as a dependency in Android linter plugin. You just have to load unpick definitions into Android linter plugin and it should work. Bonus: If LWJGL definitions would be completely separated from Minecraft definitions, Android linter plugin could also be used to detect dependencies to LWJGL. LWJGL and JDK definitions are reusable for other Java based programs than Minecraft. |
Describe your idea
javac
tends to inline constants, leading to magic numbers appearing all over the decompiled code. A method like this:will be turned into this:
Using Unpick, a tool developed by the Minecraft modding community, this process can be manually reversed. Unpick itself operates on Java bytecode, so it is not applicable to Android apps, but the file format for these "unpick definitions" is bytecode-independent and support for it could be integrated into JADX too. I'm bringing this up now since there's currently a discussion going on in its issue tracker regarding a potential v3 format, intended to be integrated natively into the Vineflower decompiler.
The text was updated successfully, but these errors were encountered: