skylot / jadx

Dex to Java decompiler
Apache License 2.0
40.97k stars 4.81k forks source link

[feature] switch between smali/java declaration #1494

Open j4k0xb opened 2 years ago

j4k0xb commented 2 years ago

Describe your idea: Right-click a java constructor/method/field -> "Go to smali declaration" and the other way around Should work in both single and split view and optionally have a keybind.

At the moment I have to scroll and manually compare the access flags, parameters, name and return type to find it. Or ctrl+f and type almost the whole declaration.

If you give me a few starting points, I could try making a PR 🙂

Edit: nvm dont have much time, up to you if you want to implement it or not

skylot commented 2 years ago

If you give me a few starting points, I could try making a PR

Not sure if this is a simple task. Only jump from java code to smali is rather easy: make similar to GoToDeclarationAction action but instead codeJump you need to use smaliJump with provided position by searching needed text in smali code. Jump from smali to java is harder because there is no quick way to gather all needed info, i.e parse string to get method name and signature and try to search method using JavaClass.searchMethodByShortId.

Also, you need somehow understand do open in new tab or in exist split view.