You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thanks for applying #976 and fixing the issue with static methods. But we both still missed one more case: package-private
test.Test1
package test;
public class Test1 {
void a() {
}
}
test.Test2
package test;
public class Test2 extends Test1 {
@Override
public void a() {
}
}
test2.Test2
package test2;
import test.Test1;
public class Test2 extends Test1 {
// JADX generates @Override here, which is not allowed
public void a() {
}
}
The patch to fix this is attached (override-package-private.patch.txt). As things get more complex here, I think creating unit tests for both cases helps to prevent regressions.
The text was updated successfully, but these errors were encountered:
@nitram84 thanks again!
I have made another fix: all access modifiers checks moved to a separate method and I have explicitly mentioned all possible flags.
Looks like I missed case with package-private because with default options jadx replace it with public modifier (this can be disabled with enabling Respect bytecode access modifiers option). Eventually, I plan to remove that action, but right now not every visibility issues are covered.
Thanks for applying #976 and fixing the issue with static methods. But we both still missed one more case: package-private
test.Test1
test.Test2
test2.Test2
The patch to fix this is attached (override-package-private.patch.txt). As things get more complex here, I think creating unit tests for both cases helps to prevent regressions.
The text was updated successfully, but these errors were encountered: