Correctly processing inherited methods when checking for SAM interface.

This commit is contained in:
Evgeny Gerashchenko
2013-06-14 20:06:01 +04:00
parent 63c17bd0b2
commit 8e49eb135a
7 changed files with 139 additions and 15 deletions
@@ -0,0 +1,14 @@
package test;
public interface SamSubinterfaceOfTwo {
public interface Super1 {
CharSequence f();
}
public interface Super2<T> {
T f();
}
public interface Sub extends Super1, Super2<String> {
}
}
@@ -0,0 +1,22 @@
package test
public trait SamSubinterfaceOfTwo : java.lang.Object {
public trait Sub : test.SamSubinterfaceOfTwo.Super1, test.SamSubinterfaceOfTwo.Super2<jet.String> {
public abstract override /*2*/ /*fake_override*/ fun f(): jet.CharSequence?
}
public trait Super1 : java.lang.Object {
public abstract fun f(): jet.CharSequence?
}
public trait Super2</*0*/ T> : java.lang.Object {
public abstract fun f(): T?
}
}
package SamSubinterfaceOfTwo {
public /*synthesized*/ fun Sub(/*0*/ function: () -> jet.String?): test.SamSubinterfaceOfTwo.Sub
public /*synthesized*/ fun Super1(/*0*/ function: () -> jet.CharSequence?): test.SamSubinterfaceOfTwo.Super1
public /*synthesized*/ fun </*0*/ T> Super2(/*0*/ function: () -> T?): test.SamSubinterfaceOfTwo.Super2<T>
}
@@ -0,0 +1,5 @@
package test;
public interface SamSubinterfaceOverridding extends Runnable {
void run();
}
@@ -0,0 +1,7 @@
package test
public /*synthesized*/ fun SamSubinterfaceOverridding(/*0*/ function: () -> jet.Unit): test.SamSubinterfaceOverridding
public trait SamSubinterfaceOverridding : java.lang.Runnable {
public abstract override /*1*/ fun run(): jet.Unit
}