Collect sam adapters for constructors in synthetic scope

Also place computation of synthetic constructors under one function
This commit is contained in:
Mikhail Zarechenskiy
2017-05-25 15:58:28 +03:00
parent 0adc8d9bfa
commit 011231f2ab
21 changed files with 174 additions and 77 deletions
@@ -0,0 +1,18 @@
// FILE: OnSubscribe.java
public interface OnSubscribe<T> {
void f();
}
// FILE: Observable.java
public class Observable<T> {
public Observable(OnSubscribe<T> f) {
}
}
// FILE: Kotlin.kt
typealias ObservableAlias<T> = Observable<T>
typealias ObservableIntAlias = Observable<Int>
class A : ObservableAlias<String>({})
class B : ObservableIntAlias({})
@@ -0,0 +1,31 @@
package
public final class A : ObservableAlias<kotlin.String> /* = Observable<kotlin.String> */ {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class B : ObservableIntAlias /* = Observable<kotlin.Int> */ {
public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class Observable</*0*/ T : kotlin.Any!> {
public constructor Observable</*0*/ T : kotlin.Any!>(/*0*/ f: OnSubscribe<T!>!)
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface OnSubscribe</*0*/ T : kotlin.Any!> {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun f(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public typealias ObservableAlias</*0*/ T> = Observable<T>
public typealias ObservableIntAlias = Observable<kotlin.Int>
@@ -4,7 +4,6 @@ package test {
public fun test(): kotlin.Unit
public open class J {
public /*synthesized*/ constructor J(/*0*/ s: kotlin.String!, /*1*/ r: (() -> kotlin.Unit)!, /*2*/ z: kotlin.Boolean!)
public constructor J(/*0*/ s: kotlin.String!, /*1*/ r: java.lang.Runnable!, /*2*/ z: kotlin.Boolean!)
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -3,7 +3,6 @@ package
public fun foo(): kotlin.Unit
public open class A</*0*/ E : kotlin.Any!> {
public /*synthesized*/ constructor A</*0*/ E : kotlin.Any!>(/*0*/ comparator: ((E!, E!) -> kotlin.Int)!)
public constructor A</*0*/ E : kotlin.Any!>(/*0*/ comparator: java.util.Comparator<in E!>!)
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int