Exclude synthetic classes from ABI classes

This commit is contained in:
Alexey Tsvetkov
2018-12-01 17:28:11 +03:00
parent fe047a0092
commit 519211036d
11 changed files with 102 additions and 8 deletions
@@ -0,0 +1,14 @@
package test
interface Interface {
fun foo(): Int
}
class InterfaceImpl : Interface {
override fun foo(): Int = 0
}
fun getInterface(): Interface =
object : Interface {
override fun foo(): Int = 0
}
@@ -0,0 +1,12 @@
package test
interface Interface {
fun foo(): Int
}
class InterfaceImpl : Interface {
override fun foo(): Int = 0
}
fun getInterface(): Interface =
InterfaceImpl()
@@ -0,0 +1,8 @@
package test
class Class {
fun method(): Int {
val square: (Int) -> Int = { it * it }
return square(2)
}
}
@@ -0,0 +1,6 @@
package test
fun function(): Int {
val square: (Int) -> Int = { it * it }
return square(2)
}
@@ -0,0 +1,7 @@
package test
class Class {
fun method(): Int {
return 0
}
}
@@ -0,0 +1,5 @@
package test
fun function(): Int {
return 0
}
@@ -0,0 +1,7 @@
package test
class Class {
val property: Int = 0
}
fun getProp(c: Class) = Class::property.get(c)
@@ -0,0 +1,7 @@
package test
class Class {
val property: Int = 0
}
fun getProp(c: Class) = c.property