// RUN_PIPELINE_TILL: BACKEND
//KT-4415 Class Auto-Cast Bug

interface SelfJson

object A {
    fun find(clz:Class<*>){  }

    fun toJson2(obj:Any){
        if(obj is SelfJson){
            // A.find( (obj as SelfJson).javaClass)  // OK
            A.find( <!DEBUG_INFO_SMARTCAST!>obj<!>.javaClass )   // ERROR:  Type mismatch: inferred type is kotlin.Any but SelfJson was expected
        }
    }
}

//from library
val <T> T.javaClass : Class<T> get() = throw Exception()

/* GENERATED_FIR_TAGS: functionDeclaration, getter, ifExpression, interfaceDeclaration, isExpression, nullableType,
objectDeclaration, propertyDeclaration, propertyWithExtensionReceiver, smartcast, starProjection, typeParameter */
