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