// LANGUAGE: +InlineClasses

// FILE: utils.kt

inline class Foo(val x: Int) {
    fun member() {}
}

// FILE: test.kt

fun Foo?.extensionOnNullable() {}

fun test(f: Foo?) {
    if (f != null) {
        f.member() // unbox
    }

    if (f != null) {
        f.extensionOnNullable()
    }

    if (f != null) {
        val a = f
        a.member() // unbox
    }
}

// @TestKt.class:
// 0 INVOKESTATIC Foo\$Erased.box
// 2 INVOKEVIRTUAL Foo.unbox
// 0 valueOf
// 0 intValue