Files
kotlin-fork/compiler/testData/codegen/box/compileKotlinAgainstKotlin/intersectionOverrideProperies.kt
T

42 lines
817 B
Kotlin
Vendored

// TARGET_BACKEND: JVM
// MODULE: lib
// FILE: A.kt
package a
interface IrSymbol {
val owner: Any
}
interface IrFunction
interface IrSimpleFunction : IrFunction {
val name: String
}
interface IrFunctionSymbol : IrSymbol {
override val owner: IrFunction
}
interface IrBindableSymbol<B : Any> : IrSymbol {
override val owner: B
}
interface IrSimpleFunctionSymbol : IrFunctionSymbol, IrBindableSymbol<IrSimpleFunction>
// MODULE: main(lib)
// FILE: B.kt
import a.*
fun foo(x: IrSimpleFunctionSymbol): String {
return x.owner.name
}
fun box(): String {
return foo(object : IrSimpleFunctionSymbol {
override val owner: IrSimpleFunction
get() = object : IrSimpleFunction {
override val name: String
get() = "OK"
}
})
}