[test infra] Add a directive for type checking utils that use @Exact
This commit is contained in:
committed by
Space Team
parent
0323b0fb19
commit
5c644bcac8
@@ -0,0 +1,4 @@
|
||||
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
|
||||
fun <T> checkExactType(expr: @kotlin.internal.Exact T) {}
|
||||
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
|
||||
fun <T> checkTypeEquality(reference: @kotlin.internal.Exact T, expr: @kotlin.internal.Exact T) {}
|
||||
@@ -0,0 +1,14 @@
|
||||
// CHECK_TYPE_WITH_EXACT
|
||||
|
||||
open class A
|
||||
open class B: A()
|
||||
class C: B()
|
||||
|
||||
fun test(expr: B) {
|
||||
checkExactType<A>(<!ARGUMENT_TYPE_MISMATCH!>expr<!>)
|
||||
checkExactType<B>(expr)
|
||||
checkExactType<C>(<!ARGUMENT_TYPE_MISMATCH!>expr<!>)
|
||||
checkTypeEquality(A(), <!ARGUMENT_TYPE_MISMATCH!>expr<!>)
|
||||
checkTypeEquality(B(), expr)
|
||||
checkTypeEquality(C(), <!ARGUMENT_TYPE_MISMATCH!>expr<!>)
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
// CHECK_TYPE_WITH_EXACT
|
||||
|
||||
open class A
|
||||
open class B: A()
|
||||
class C: B()
|
||||
|
||||
fun test(expr: B) {
|
||||
checkExactType<A>(<!TYPE_MISMATCH!>expr<!>)
|
||||
checkExactType<B>(expr)
|
||||
checkExactType<C>(<!TYPE_MISMATCH!>expr<!>)
|
||||
checkTypeEquality(A(), <!TYPE_MISMATCH!>expr<!>)
|
||||
checkTypeEquality(B(), expr)
|
||||
checkTypeEquality(C(), <!TYPE_MISMATCH!>expr<!>)
|
||||
}
|
||||
Reference in New Issue
Block a user