Files
Ilya Kirillov 1bbcae5ed2 [FIR] fix resolve contract violation from scopes
We cannot call lazy resolve to STATUS phase from scopes as scopes may be accessed on a STATUS phase or earlier

^KT-54890
^KTIJ-23587 fixed
2023-01-13 21:32:51 +00:00

46 lines
901 B
Kotlin
Vendored

// FILE: 1.kt
package anotherpackage
interface IInterfaceInput<in T> {
fun doSomething(input: T)
}
// FILE: 2.kt
package anotherpackage
interface IInterfaceOutput<out T> {
fun doSomething(): T?
}
// FILE: 3.kt
package mypackage.nestedpackage
import mypackage.nestedpackage.Bar.<!UNRESOLVED_REFERENCE!>Baz<!>
import anotherpackage.IInterfaceInput
import anotherpackage.IInterfaceOutput
class Foo() {
class FooNest {
val bar = Bar()
fun myFun(): List<Baz> {
return <!UNRESOLVED_REFERENCE!>listOf<!>(bar.doSomething())
}
}
}
class Bar() : IInterfaceInput<Baz>, IInterfaceOutput<Baz> {
override fun doSomething(input: Baz) {
throw UnsupportedOperationException("not implemented")
}
override fun doSomething(): Baz {
throw UnsupportedOperationException("not implemented")
}
}
data class Baz(val myField: Int)