fix: handle method override with several bases (#1234)
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
package jadx.tests.integration.others;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import jadx.tests.api.IntegrationTest;
|
||||
|
||||
import static jadx.tests.api.utils.assertj.JadxAssertions.assertThat;
|
||||
|
||||
public class TestOverrideWithTwoBases extends IntegrationTest {
|
||||
|
||||
public static class TestCls {
|
||||
public abstract static class BaseClass {
|
||||
public abstract int a();
|
||||
}
|
||||
|
||||
public interface I {
|
||||
int a();
|
||||
}
|
||||
|
||||
public static class Cls extends BaseClass implements I {
|
||||
@Override
|
||||
public int a() {
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
assertThat(getClassNode(TestCls.class))
|
||||
.code()
|
||||
.containsOne("@Override");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package jadx.tests.integration.others;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import jadx.tests.api.IntegrationTest;
|
||||
|
||||
import static jadx.tests.api.utils.assertj.JadxAssertions.assertThat;
|
||||
|
||||
public class TestOverrideWithTwoBases2 extends IntegrationTest {
|
||||
|
||||
public static class TestCls {
|
||||
public interface I {
|
||||
int a();
|
||||
}
|
||||
|
||||
public abstract static class BaseCls implements I {
|
||||
}
|
||||
|
||||
public static class Cls extends BaseCls implements I {
|
||||
@Override
|
||||
public int a() {
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
assertThat(getClassNode(TestCls.class))
|
||||
.code()
|
||||
.containsOne("@Override");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user