Added tests with SAM adapter overridden in Java class.

This commit is contained in:
Evgeny Gerashchenko
2013-06-20 20:27:34 +04:00
parent c77559fac9
commit 5c3577dfed
7 changed files with 68 additions and 1 deletions
@@ -0,0 +1,13 @@
class Super {
public String lastCalled = null;
void foo(Runnable r) {
lastCalled = "super";
}
}
class Sub extends Super {
void foo(jet.Function0<jet.Unit> r) {
lastCalled = "sub";
}
}
@@ -0,0 +1,15 @@
fun box(): String {
val sub = Sub()
(sub : Super).foo{ }
if (sub.lastCalled != "super") {
return "FAIL: ${sub.lastCalled} instead of super"
}
sub.foo{ }
if (sub.lastCalled != "sub") {
return "FAIL: ${sub.lastCalled} instead of sub"
}
return "OK"
}
@@ -0,0 +1,13 @@
package test;
public interface InheritedOverriddenAdapter {
public class Super {
public void foo(Runnable r) {
}
}
public class Sub extends Super {
public void foo(jet.Function0<jet.Unit> r) {
}
}
}
@@ -0,0 +1,16 @@
package test
public trait InheritedOverriddenAdapter : java.lang.Object {
public open class Sub : test.InheritedOverriddenAdapter.Super {
public constructor Sub()
public open override /*1*/ fun foo(/*0*/ p0: (() -> jet.Unit)?): jet.Unit
public open override /*1*/ /*fake_override*/ fun foo(/*0*/ p0: java.lang.Runnable?): jet.Unit
}
public open class Super : java.lang.Object {
public constructor Super()
public open /*synthesized*/ fun foo(/*0*/ p0: (() -> jet.Unit)?): jet.Unit
public open fun foo(/*0*/ p0: java.lang.Runnable?): jet.Unit
}
}