Refine isVisible for protected visibility
#KT-7437 Fixed #KT-7971 Fixed #KT-7051 Fixed #KT-6125 Fixed #KT-6186 Fixed
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
// !CHECK_TYPE
|
||||
// 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.*
|
||||
|
||||
fun <T> javaClass(): Class<T> = null!!
|
||||
|
||||
public class AppServiceModule : AbstractModule<String>() {
|
||||
inline fun <reified T> AbstractModule<Int>.bind() {
|
||||
val x = bind(javaClass<T>())
|
||||
|
||||
x checkType { _<String>() } // check that Class receiver is used instead of extension one
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user