Correctly processing inherited methods when checking for SAM interface.
This commit is contained in:
+14
@@ -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>
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package test;
|
||||
|
||||
public interface SamSubinterfaceOverridding extends Runnable {
|
||||
void run();
|
||||
}
|
||||
+7
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user