5b3816cce5
treat it as a general one, introduce *_K1 and *_K2 variants for more specific ignoring
36 lines
1.3 KiB
Kotlin
Vendored
36 lines
1.3 KiB
Kotlin
Vendored
// IGNORE_BACKEND_K1: JVM_IR
|
|
interface Base
|
|
|
|
@CompileTimeCalculation
|
|
open class A : Base
|
|
|
|
@CompileTimeCalculation
|
|
class B : A()
|
|
|
|
const val a1 = <!EVALUATED: `true`!>{ 1 is Int }()<!> // avoid evaluation by native interpreter
|
|
const val a2 = <!EVALUATED: `false`!>{ 2 !is Int }()<!>
|
|
|
|
const val b1 = <!EVALUATED: `true`!>A() is Base<!>
|
|
const val b2 = <!EVALUATED: `false`!>A() !is Base<!>
|
|
const val b3 = <!EVALUATED: `true`!>A() is A<!>
|
|
const val b4 = <!EVALUATED: `false`!>A() !is A<!>
|
|
|
|
const val c1 = <!EVALUATED: `true`!>B() is Base<!>
|
|
const val c2 = <!EVALUATED: `false`!>B() !is Base<!>
|
|
const val c3 = <!EVALUATED: `true`!>B() is A<!>
|
|
const val c4 = <!EVALUATED: `false`!>B() !is A<!>
|
|
const val c5 = <!EVALUATED: `true`!>B() is B<!>
|
|
const val c6 = <!EVALUATED: `false`!>B() !is B<!>
|
|
|
|
@CompileTimeCalculation
|
|
fun foo(): Unit {}
|
|
@CompileTimeCalculation
|
|
fun bar(p1: Int): Unit {}
|
|
|
|
const val d1 = <!EVALUATED: `true`!>::foo is kotlin.reflect.KFunction<*><!>
|
|
const val d2 = <!EVALUATED: `true`!>::foo is Function0<*><!>
|
|
const val d3 = <!EVALUATED: `false`!>::foo is Function1<*, *><!>
|
|
const val d4 = <!EVALUATED: `true`!>::bar is kotlin.reflect.KFunction<*><!>
|
|
const val d5 = <!EVALUATED: `false`!>::bar is Function0<*><!>
|
|
const val d6 = <!EVALUATED: `true`!>::bar is Function1<*, *><!>
|