Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/smartcasts/smartcastInByClause.fir.txt
T
Steven Schäfer a7ba081d22 FIR: Fix interface delegation ABI
- Unifies the name of the `$$delegate_<n>` field between K1 and K2.
- Make the `$$delegate_<n>` field private
2022-12-02 21:54:18 +00:00

47 lines
1.5 KiB
Plaintext
Vendored

FILE: smartcastInByClause.kt
public final class A : R|kotlin/Any| {
public constructor(path: R|kotlin/String?|, index: R|kotlin/Int|): R|A| {
super<R|kotlin/Any|>()
}
public final val path: R|kotlin/String?| = R|<local>/path|
public get(): R|kotlin/String?|
public final val index: R|kotlin/Int| = R|<local>/index|
public get(): R|kotlin/Int|
}
public abstract interface Base : R|kotlin/Any| {
}
public final class Derived : R|Base| {
public constructor(index: R|kotlin/Int|): R|Derived| {
super<R|kotlin/Any|>()
}
public final val index: R|kotlin/Int| = R|<local>/index|
public get(): R|kotlin/Int|
}
public final fun test(a: R|A?|): R|Base?| {
lval path: R|kotlin/String| = R|<local>/a|?.{ $subj$.R|/A.path| } ?: ^test Null(null)
R|/takeInt|(R|<local>/a|.R|/A.index|)
^test object : R|Base| {
private constructor(): R|<anonymous>| {
super<R|kotlin/Any|>()
}
private final field $$delegate_0: R|Base| = R|/Derived.Derived|(R|<local>/a|.R|/A.index|)
public final val x: R|kotlin/Int| = R|<local>/a|.R|/A.index|
public get(): R|kotlin/Int|
public final fun foo(): R|kotlin/Unit| {
R|/takeInt|(R|<local>/a|.R|/A.index|)
}
}
}
public final fun takeInt(x: R|kotlin/Int|): R|kotlin/Unit| {
}