53d6ac24e5
* Change 1.6 to 1.7 constants * Fix SAFE_CALL_WILL_CHANGE_NULLABILITY for testData * Change EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_WARNING to EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR * Change NON_EXHAUSTIVE_WHEN_STATEMENT to NO_ELSE_IN_WHEN * Fix testData for SafeCallsAreAlwaysNullable * Change T -> T & Any in test dumps * Change INVALID_CHARACTERS_NATIVE_WARNING -> INVALID_CHARACTERS_NATIVE_ERROR * TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_WARNING -> TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERROR
40 lines
524 B
Kotlin
Vendored
40 lines
524 B
Kotlin
Vendored
// FIR_IDENTICAL
|
|
// MODULE: m1
|
|
// FILE: a.kt
|
|
package p
|
|
|
|
public interface B {
|
|
public fun getParent(): B?
|
|
}
|
|
|
|
// MODULE: m2(m1)
|
|
// FILE: b.kt
|
|
package p
|
|
|
|
public interface C : B {
|
|
override fun getParent(): B?
|
|
|
|
}
|
|
|
|
// MODULE: m3
|
|
// FILE: b.kt
|
|
package p
|
|
|
|
public interface B {
|
|
public fun getParent(): B?
|
|
}
|
|
|
|
public interface D : B {
|
|
override fun getParent(): B?
|
|
}
|
|
|
|
// MODULE: m4(m3, m2)
|
|
// FILE: c.kt
|
|
import p.*
|
|
|
|
fun test(b: B?) {
|
|
if (b is C && b is D) {
|
|
b<!UNNECESSARY_SAFE_CALL!>?.<!>getParent()
|
|
}
|
|
}
|