test for super default method call

This commit is contained in:
Egor.Ushakov
2017-04-28 12:17:52 +03:00
parent 645b38d638
commit 790027c779
5 changed files with 42 additions and 0 deletions

View File

@@ -118,6 +118,7 @@ public class SingleClassesTest {
//@Test public void testUnionType() { doTest("pkg/TestUnionType"); }
//@Test public void testInnerClassConstructor2() { doTest("pkg/TestInner2"); }
//@Test public void testInUse() { doTest("pkg/TestInUse"); }
//@Test public void testInterfaceSuper() { doTest("pkg/TestInterfaceSuper"); }
private void doTest(String testFile, String... companionFiles) {
ConsoleDecompiler decompiler = fixture.getDecompiler();

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,30 @@
package pkg;
public interface TestInterfaceSuper {
default void defaultMethod() {
}// 4
public static class Impl implements TestInterfaceSuper {
public void defaultMethod() {
TestInterfaceSuper.super.defaultMethod();// 8
}// 9
}
}
class 'pkg/TestInterfaceSuper' {
method 'defaultMethod ()V' {
0 4
}
}
class 'pkg/TestInterfaceSuper$Impl' {
method 'defaultMethod ()V' {
1 8
4 9
}
}
Lines mapping:
4 <-> 5
8 <-> 9
9 <-> 10

View File

@@ -0,0 +1,11 @@
package pkg;
public interface TestInterfaceSuper {
default void defaultMethod() {}
class Impl implements TestInterfaceSuper {
public void defaultMethod() {
TestInterfaceSuper.super.defaultMethod();
}
}
}