Move SAM adapters from static scope to synthetic one

This commit is contained in:
Mikhail Zarechenskiy
2017-05-02 14:25:48 +03:00
parent 2ff28ebced
commit 95ede7fb67
37 changed files with 281 additions and 45 deletions
@@ -7,7 +7,6 @@ public final class DifferentParametersCount {
public constructor A()
// Static members
public final /*synthesized*/ fun foo(/*0*/ p0: (() -> kotlin.Unit)!, /*1*/ p1: kotlin.Int): kotlin.Unit
public open fun foo(/*0*/ p0: java.lang.Runnable!, /*1*/ p1: kotlin.Int): kotlin.Unit
}
@@ -15,8 +14,6 @@ public final class DifferentParametersCount {
public constructor B()
// Static members
public final /*synthesized*/ fun foo(/*0*/ p0: (() -> kotlin.Unit)!): kotlin.Unit
public final override /*1*/ /*fake_override*/ fun foo(/*0*/ p0: (() -> kotlin.Unit)!, /*1*/ p1: kotlin.Int): kotlin.Unit
public open fun foo(/*0*/ p0: java.lang.Runnable!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun foo(/*0*/ p0: java.lang.Runnable!, /*1*/ p1: kotlin.Int): kotlin.Unit
}
@@ -0,0 +1,18 @@
package test;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
public final class FakeStaticOverrides {
public static class A {
static public void foo(Function0<Unit> x) {}
}
public static class B extends A {
// SAM adapter should not override A.foo
static public void foo(Runnable x) {}
}
public static class C extends B {
}
}
@@ -0,0 +1,28 @@
package test
public final class FakeStaticOverrides {
public constructor FakeStaticOverrides()
public open class A {
public constructor A()
// Static members
public open fun foo(/*0*/ p0: (() -> kotlin.Unit!)!): kotlin.Unit
}
public open class B : test.FakeStaticOverrides.A {
public constructor B()
// Static members
public open override /*1*/ /*fake_override*/ fun foo(/*0*/ p0: (() -> kotlin.Unit!)!): kotlin.Unit
public open fun foo(/*0*/ p0: java.lang.Runnable!): kotlin.Unit
}
public open class C : test.FakeStaticOverrides.B {
public constructor C()
// Static members
public open override /*1*/ /*fake_override*/ fun foo(/*0*/ p0: (() -> kotlin.Unit!)!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun foo(/*0*/ p0: java.lang.Runnable!): kotlin.Unit
}
}
@@ -15,7 +15,6 @@ public final class StaticOverrides {
// Static members
public open override /*1*/ /*fake_override*/ fun foo(/*0*/ p0: (() -> kotlin.Unit!)!): kotlin.Unit
public final /*synthesized*/ fun foo(/*0*/ p0: (() -> kotlin.Unit)!): kotlin.Unit
public open fun foo(/*0*/ p0: java.lang.Runnable!): kotlin.Unit
}
}
@@ -5,6 +5,5 @@ public open class Basic {
public open fun foo(/*0*/ p0: java.lang.Runnable!): kotlin.Unit
// Static members
public final /*synthesized*/ fun bar(/*0*/ p0: (() -> kotlin.Unit)!): kotlin.Unit
public open fun bar(/*0*/ p0: java.lang.Runnable!): kotlin.Unit
}
@@ -4,6 +4,5 @@ public open class SeveralSamParameters {
public constructor SeveralSamParameters()
// Static members
public final /*synthesized*/ fun findMaxAndInvokeCallback(/*0*/ p0: ((kotlin.String!, kotlin.String!) -> kotlin.Int)!, /*1*/ p1: kotlin.String!, /*2*/ p2: kotlin.String!, /*3*/ p3: (() -> kotlin.Unit)!): kotlin.String!
public open fun findMaxAndInvokeCallback(/*0*/ p0: java.util.Comparator<kotlin.String!>!, /*1*/ p1: kotlin.String!, /*2*/ p2: kotlin.String!, /*3*/ p3: java.lang.Runnable!): kotlin.String!
}
@@ -4,10 +4,7 @@ public open class TypeParameterOfMethod {
public constructor TypeParameterOfMethod()
// Static members
public final /*synthesized*/ fun </*0*/ T : kotlin.Any!> max(/*0*/ p0: ((T!, T!) -> kotlin.Int)!, /*1*/ p1: T!, /*2*/ p2: T!): T!
public open fun </*0*/ T : kotlin.Any!> max(/*0*/ p0: java.util.Comparator<T!>!, /*1*/ p1: T!, /*2*/ p2: T!): T!
public final /*synthesized*/ fun </*0*/ T : kotlin.CharSequence!> max2(/*0*/ p0: ((T!, T!) -> kotlin.Int)!, /*1*/ p1: T!, /*2*/ p2: T!): T!
public open fun </*0*/ T : kotlin.CharSequence!> max2(/*0*/ p0: java.util.Comparator<T!>!, /*1*/ p1: T!, /*2*/ p2: T!): T!
public final /*synthesized*/ fun </*0*/ A : kotlin.CharSequence!, /*1*/ B : kotlin.collections.(Mutable)List<A!>!> method(/*0*/ p0: ((A!, A!) -> kotlin.Int)!, /*1*/ p1: B!): kotlin.Unit
public open fun </*0*/ A : kotlin.CharSequence!, /*1*/ B : kotlin.collections.(Mutable)List<A!>!> method(/*0*/ p0: java.util.Comparator<A!>!, /*1*/ p1: B!): kotlin.Unit
}