Use descriptors for building SAM constructors

It helps to get rid of semantics duplicating and fixes known bugs

- SOE in OnlyAbstractMethodFinder.find
- type enhancement for SAM constructors

 #KT-11287 Fixed
 #KT-11322 Fixed
 EA-77989 Fixed
This commit is contained in:
Denis Zharkov
2016-03-07 17:49:03 +03:00
parent b8b48c5f98
commit 151e55b2fa
22 changed files with 234 additions and 258 deletions
@@ -0,0 +1,28 @@
// FILE: A.java
public interface A extends A {
int getFoo();
}
// FILE: B.java
public class B {
interface B1 extends B2 {
int getFoo();
}
interface B2 extends B3 {
int getFoo();
}
interface B3 extends B2 {
int getFoo();
}
}
// FILE: main.kt
fun foo() {
object : A { override fun getFoo() = 1 }
object : B.B1 { override fun getFoo() = 1 }
object : B.B2 { override fun getFoo() = 1 }
object : B.B3 { override fun getFoo() = 1 }
}