blob: 102bb0359d0889b9476f7e8d2b4f09b97ffee971 [file]
// RUN_PIPELINE_TILL: FRONTEND
// FIR_IDENTICAL
// DIAGNOSTICS: -NOTHING_TO_INLINE
// FILE: 1.kt
package test
inline fun runCrossinline(crossinline f: () -> String) = f()
open class Base {
protected open val FOO = "O"
protected open fun test() = "K"
}
open class P : Base() {
inline fun protectedProp(crossinline f: (String) -> String): String =
runCrossinline { f(<!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>FOO<!>) }
inline fun protectedFun(crossinline f: (String) -> String): String =
runCrossinline { f(<!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>test<!>()) }
}
// FILE: 2.kt
import test.*
fun box() : String {
val p = P()
return p.protectedProp { it } + p.protectedFun { it }
}
/* GENERATED_FIR_TAGS: additiveExpression, classDeclaration, crossinline, functionDeclaration, functionalType, inline,
lambdaLiteral, localProperty, propertyDeclaration, stringLiteral */