blob: c7908f052ecb6ccebb95ef6215c090bd45879f7a [file]
// FIR_IDENTICAL
// ISSUE: KT-50020
import kotlin.reflect.KFunction0
<!NOTHING_TO_INLINE!>inline<!> fun foo1(a: Any?): Any? = a
<!NOTHING_TO_INLINE!>inline<!> fun Any?.foo2(): Any? = this
inline fun bar1(c: (Any) -> Unit) = foo1(<!USAGE_IS_NOT_INLINABLE!>c<!>)
inline fun bar2(c: (Any) -> Unit) = <!USAGE_IS_NOT_INLINABLE!>c<!>.foo2()
<!NOTHING_TO_INLINE!>inline<!> fun kfoo1(a: KFunction0<String>): KFunction0<String> = a
<!NOTHING_TO_INLINE!>inline<!> fun KFunction0<String>.kfoo2(): KFunction0<String> = this
<!NOTHING_TO_INLINE!>inline<!> fun bar1(c: KFunction0<String>) = kfoo1(c)
<!NOTHING_TO_INLINE!>inline<!> fun bar2(c: KFunction0<String>) = c.kfoo2()
<!NOTHING_TO_INLINE!>inline<!> fun baz1(<!NULLABLE_INLINE_PARAMETER!>a: ((Any) -> Unit)?<!>): Any? = a
<!NOTHING_TO_INLINE!>inline<!> fun ((Any) -> Unit)?.baz2(): Any? = this
inline fun qux1(c: (Any) -> Unit) = baz1(<!USAGE_IS_NOT_INLINABLE!>c<!>)
inline fun qux2(c: (Any) -> Unit) = <!USAGE_IS_NOT_INLINABLE!>c<!>.baz2()
typealias TA = (Any) -> Unit
inline fun quxx1(a: TA): Any? = a("")
<!NOTHING_TO_INLINE!>inline<!> fun TA.quxx2(): Any? = this("")
inline fun quxxx1(c: (Any) -> Unit) = quxx1(c)
inline fun quxxx2(c: (Any) -> Unit) = <!USAGE_IS_NOT_INLINABLE!>c<!>.quxx2()
typealias TA2 = ((Any) -> Unit)?
<!NOTHING_TO_INLINE!>inline<!> fun quxxx1(<!NULLABLE_INLINE_PARAMETER!>a: TA2<!>): Any? = a?.invoke("")
<!NOTHING_TO_INLINE!>inline<!> fun TA2.quxxx2(): Any? = this?.invoke("")
inline fun quxxxx1(c: (Any) -> Unit) = quxxx1(c)
inline fun quxxxx2(c: (Any) -> Unit) = <!USAGE_IS_NOT_INLINABLE!>c<!>.quxxx2()