Files
kotlin-fork/compiler/testData/diagnostics/tests/scopes/protectedVisibility/kt7971.kt
T
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

26 lines
653 B
Kotlin
Vendored

// !CHECK_TYPE
// !LANGUAGE: -ProhibitProtectedCallFromInline
// FILE: module1/AbstractModule.java
package module1;
public abstract class AbstractModule<S> {
protected <T> S bind(Class<T> clazz) { return null; }
}
// FILE: module2/main.kt
package module2
import module1.*
import checkType
import _
fun <T> javaClass(): Class<T> = null!!
public class AppServiceModule : AbstractModule<String>() {
inline fun <reified T> AbstractModule<Int>.bind() {
val x = <!PROTECTED_CALL_FROM_PUBLIC_INLINE_WARNING!>bind<!>(javaClass<T>())
x checkType { _<String>() } // check that Class receiver is used instead of extension one
}
}