Skip to content
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] Persistent jadx attributes #2366

Open
skylot opened this issue Dec 11, 2024 · 0 comments
Open

[feature] Persistent jadx attributes #2366

skylot opened this issue Dec 11, 2024 · 0 comments
Assignees
Labels
Core Issues in jadx-core module discussion GUI Issues in jadx-gui module jadx-api jadx-plugin new feature

Comments

@skylot
Copy link
Owner

skylot commented Dec 11, 2024

Now jadx attributes attached to nodes not saved in code cache. And if some classes instead decompilation were loaded from cache, they will not have expected attributes. The current workaround is to force class decompilation, but this can be long and greatly reduce code cache efficiency.
Saving and loading attributes will simplify code and reduce the amount of issues caused by incorrect work with code cache.

Implementation requirements:

  • new interface to mark attribute as persistent
  • allow using custom save/load code (built-in implementation can use json as data format)
  • allow registering persistent attributes using plugins API and from base jadx API (method in JadxDecompiler)
  • all nodes should be supported, including: RootNode, ClassNode, MethodNode, FieldNode and maybe InsnNode

Related to PR #2362 and slightly #2188

@skylot skylot added new feature GUI Issues in jadx-gui module Core Issues in jadx-core module discussion jadx-plugin jadx-api labels Dec 11, 2024
@skylot skylot self-assigned this Dec 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Core Issues in jadx-core module discussion GUI Issues in jadx-gui module jadx-api jadx-plugin new feature
Projects
None yet
Development

No branches or pull requests

1 participant