Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/smartcasts/equalsAndIdentity.fir.txt
T

60 lines
1.6 KiB
Plaintext
Vendored

FILE: equalsAndIdentity.kt
public abstract interface A : R|kotlin/Any| {
public abstract fun foo(): R|kotlin/Unit|
}
public final fun test_1(x: R|A|, y: R|A?|): R|kotlin/Unit| {
when () {
==(R|<local>/x|, R|<local>/y|) -> {
R|<local>/x|.R|/A.foo|()
R|<local>/y|.R|/A.foo|()
}
}
when () {
===(R|<local>/x|, R|<local>/y|) -> {
R|<local>/x|.R|/A.foo|()
R|<local>/y|.R|/A.foo|()
}
}
}
public final fun test_2(x: R|A?|, y: R|A?|): R|kotlin/Unit| {
when () {
==(R|<local>/x|, R|<local>/y|) -> {
R|<local>/x|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
R|<local>/y|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
}
when () {
===(R|<local>/x|, R|<local>/y|) -> {
R|<local>/x|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
R|<local>/y|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
}
}
public final fun test_3(x: R|A?|, y: R|A?|): R|kotlin/Unit| {
when () {
==(R|<local>/y|, Null(null)) -> {
^test_3 Unit
}
}
when () {
==(R|<local>/x|, R|<local>/y|) -> {
R|<local>/x|.R|/A.foo|()
R|<local>/y|.R|/A.foo|()
}
}
when () {
===(R|<local>/x|, R|<local>/y|) -> {
R|<local>/x|.R|/A.foo|()
R|<local>/y|.R|/A.foo|()
}
}
}