Eric Lafortune
Eric Lafortune
Thanks for your note. Java bytecode indeed has its own format and structures, which are close to but different from Java/Kotlin/etc source code. Being insulated is not the intention at...
Spoon looks nice indeed and is definitely better suited if you prefer working with Java source code. Decompilation may then be the weakest link, since not all Java bytecode can...
Thank you for your pull request. It looks quite clean as a start, although the naming, plugin support, GUI support, documentation and testing would need to be changed or expanded....
It's a known issue; such use before initialization unfortunately occurs once in a while and is not entirely trivial to detect. You can keep the affected fields so their non-null...
ProGuard 7.0.0 is officially available now. It supports Java 14 class files, including record types. I'll push a branch with support for the optional Record attribute (when compiling code with...
The earlier obfuscation mappings can easily conflict. Merging them then won't work. For example: * Two classes (one in each jar) could implement the same method in a method hierarchy....
Some code is probably calling `BooleanSetFail # add(Boolean)`. ProGuard's shrinking step then won't remove the interface. In both cases, optimization passes might remove the interface, but this depends on the...
Thanks for your report. The problem is probably caused by ProGuard inlining `inject` from the superclass AbstractInjectConfig in InjectConfig: ``` public InjectConfig(FileConfig config) { inject(config); } ``` I can't reproduce...
The JVM rejects the computed preverification attribute ("StackMapTable"). Make sure you don't have `-dontpreverify` in your ProGuard configuration. Also make sure you don't have `-dontwarn` or `-ignorewarnings` in your configuration....
That's hard to say, especially if it works with a different URL and with a different Gradle. You can try narrowing down any problem in ProGuard with ``` -dontshrink -dontoptimize...