Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/checkers/uselessCastLeadsToRecursiveProblem.fir.txt
Dmitriy Novozhilov aef9b129d2 [FIR] Add regression tests for number of issues fixed in K2
List of issues:
KT-4113,  KT-6822,  KT-7389,  KT-17817, KT-20223
KT-21463, KT-24503, KT-24737, KT-24779, KT-24901
KT-27261, KT-28668, KT-30497, KT-30756, KT-36958
KT-37365, KT-37490, KT-38288, KT-41038, KT-41721
KT-42136, KT-42169, KT-42449, KT-42715, KT-43553
KT-43603, KT-43846, KT-43936, KT-46288, KT-46301
KT-47373, KT-47484, KT-47490, KT-47495, KT-47750
KT-47815, KT-47870, KT-48975, KT-49024, KT-49045
KT-50134, KT-50160, KT-50550, KT-51045, KT-51143
KT-51796, KT-52262, KT-52424, KT-52860, KT-52934
KT-53086, KT-53494, KT-53671, KT-53752, KT-53819
KT-54478, KT-54518, KT-54931, KT-54990, KT-55138
KT-55379, KT-55555, KT-56243
2023-02-14 17:08:55 +00:00

54 lines
1.6 KiB
Plaintext
Vendored

FILE: uselessCastLeadsToRecursiveProblem.kt
public abstract interface A : R|kotlin/Any| {
}
public final class B : R|A| {
public constructor(): R|B| {
super<R|kotlin/Any|>()
}
}
public open class C : R|A| {
public constructor(): R|C| {
super<R|kotlin/Any|>()
}
}
public final val <T : R|C|> R|kotlin/reflect/KClass<T>|.extProp1: R|kotlin/String|
public get(): R|kotlin/String| {
^ String(I'm C)
}
public final val R|A|.extProp1: R|kotlin/String|
public get(): R|kotlin/String| {
^ when (this@R|/extProp1|) {
($subj$ is R|B|) -> {
String(I'm B)
}
($subj$ is R|C|) -> {
<getClass>((this@R|/extProp1| as R|C|)).R|/extProp1|<R|CapturedType(out C)|>
}
else -> {
String(I don't know who I am..)
}
}
}
public final val <T : R|C|> R|kotlin/reflect/KClass<T>|.extProp2: R|kotlin/String|
public get(): R|kotlin/String| {
^ String(I'm C)
}
public final val R|A|.extProp2: R|kotlin/String|
public get(): R|kotlin/String| {
^ when (this@R|/extProp2|) {
($subj$ is R|B|) -> {
String(I'm B)
}
($subj$ is R|C|) -> {
<getClass>(this@R|/extProp2|).R|/extProp2|<R|CapturedType(out C)|>
}
else -> {
String(I don't know who I am..)
}
}
}