[FIR] Enable asserts for not building AST tree in lazy mode

Make interface delegate expressions lazy
This commit is contained in:
Egor Kulikov
2023-05-10 11:49:42 +00:00
committed by Space Team
parent b2fa104081
commit 6f20ac4f38
11 changed files with 107 additions and 89 deletions
@@ -11,3 +11,9 @@ val delegate = object: ReadWriteProperty<Any?, Int> {
val value by delegate
var variable by delegate
interface Base {
}
class Derived(b: Base) : Base by b {
}
@@ -16,3 +16,13 @@ FILE: delegates.kt
public? set(<set-?>: <implicit>): R|kotlin/Unit| {
D|/variable|.setValue#(Null(null), ::R|/variable|, R|<local>/variable|)
}
public? final? interface Base : R|kotlin/Any| {
}
public? final? class Derived : Base {
public? constructor(b: Base): R|Derived| {
LAZY_super<<implicit>>
}
private final field $$delegate_0: Base = LAZY_EXPRESSION
}
@@ -32,3 +32,13 @@ FILE: delegates.kt
public? set(<set-?>: <implicit>): R|kotlin/Unit| {
D|/variable|.setValue#(Null(null), ::R|/variable|, R|<local>/variable|)
}
public? final? interface Base : R|kotlin/Any| {
}
public? final? [DelegateFieldsMapKey={0=FirFieldSymbol /Derived.$$delegate_0}] class Derived : Base {
public? [ContainingClassKey=Derived] constructor(b: Base): R|Derived| {
super<<implicit>>()
}
private final field $$delegate_0: Base = b#
}