Source: diffoscope
Severity: wishlist

Dear Maintainer,

Currently javap is used for .class files, for example:
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/arm64/diffoscope-results/velocity.html
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/arm64/diffoscope-results/aspectj.html
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/arm64/diffoscope-results/jabref.html
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/arm64/diffoscope-results/openjpa.html

it will be better (easier to read/understand) to use decompiler instead which 
return Java code from class files, and use javap as fallback if decompiler tool 
failed (aborted/exception/etc..) or fail to find difference.
in Debian there is package for 'procon-decompiler' Java decompiler:
https://packages.debian.org/unstable/procyon-decompiler

more FLOSS Java decompilers (might be available in other distros, such as: 
https://aur.archlinux.org/packages/?K=java+decompiler )

Krakatau - https://github.com/Storyyeller/Krakatau
Candle - https://github.com/bradsdavis/candle-decompiler
Fernflower - 
https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine
 / https://github.com/fesh0r/fernflower
Jadx - https://github.com/skylot/jadx

that can be used as fallback to 'procyon-decompiler' (javap need to be used as 
last effort)

Reply via email to