[FIR] Support fields as part of graph of class initialization
^KT-49747 Fixed
This commit is contained in:
committed by
teamcityserver
parent
5778cb440f
commit
9c7058c3c5
+46
@@ -0,0 +1,46 @@
|
||||
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|>()
|
||||
}
|
||||
|
||||
local 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| {
|
||||
}
|
||||
Reference in New Issue
Block a user