blob: 4cd9918c59fe2f4ae92f3ac4bf5c215bd0d47720 [file]
// RUN_PIPELINE_TILL: BACKEND
interface A
class B : A {
operator fun invoke() = this
}
class C : A
operator fun C.invoke(): B = B()
fun foo(arg: A): B? {
if (arg is B) return <!DEBUG_INFO_SMARTCAST!>arg<!>()
if (arg is C) return <!DEBUG_INFO_SMARTCAST!>arg<!>()
return null
}
/* GENERATED_FIR_TAGS: classDeclaration, funWithExtensionReceiver, functionDeclaration, ifExpression,
interfaceDeclaration, isExpression, nullableType, operator, smartcast, thisExpression */