proguard
proguard copied to clipboard
Proguard 6.2.2: shrink dont work with some interfaces
Hello, shrink dont work completly with the library fastutil (http://fastutil.di.unimi.it), leaving in the output jar unused classes.
Im using openjdk 13.0.2 and proguard 6.2.2.
After some tests, the problem seems be when an interface method is overrided.
public interface BooleanSetOk extends java.util.Set<Boolean>
{
boolean add2(Boolean aBoolean);
}
public interface BooleanSetFail extends java.util.Set<Boolean>
{
@Override
boolean add(Boolean aBoolean);
}
The first class is removed, but the second don't.
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 implementations and invocations,
Still not working with version 7.1.0
Hi, i tested again with version 7.4.1
The class is never used but its not shrinked. Seems the problem occurs when overriding a method of a generic interface.