[FIR] Make constructor delegate lazy in RawFirBuilder

Fifth step for ^KT-52615

Merge-request: KT-MR-7860
Merged-by: Egor Kulikov <Egor.Kulikov@jetbrains.com>
This commit is contained in:
Egor Kulikov
2022-12-02 03:12:51 +00:00
committed by Space Team
parent 1539d7ef1a
commit fb2485f83c
37 changed files with 436 additions and 187 deletions
@@ -13,14 +13,14 @@ FILE: annotation.kt
}
@base() public? final? class correct : R|kotlin/Any| {
public? constructor(@base() x: Int): R|correct| {
super<R|kotlin/Any|>()
LAZY_super<R|kotlin/Any|>
}
@base() public? final? val x: Int = R|<local>/x|
public? get(): Int
@base() public? constructor(): R|correct| {
this<R|correct|>(IntegerLiteral(0))
LAZY_this<R|correct|>
}
}
@@ -1,7 +1,7 @@
FILE: constructorInObject.kt
public? final? object A : R|kotlin/Any| {
public? constructor(): R|A| {
super<R|kotlin/Any|>()
LAZY_super<R|kotlin/Any|>
}
init { LAZY_BLOCK }
@@ -30,7 +30,7 @@ FILE: constructorInObject.kt
public? final? companion object Companion : R|kotlin/Any| {
public? constructor(): R|C.Companion| {
super<R|kotlin/Any|>()
LAZY_super<R|kotlin/Any|>
}
}
@@ -15,7 +15,7 @@ FILE: propertyAccessorsContractDescription.kt
}
public? final? class AnotherClass : R|kotlin/Any| {
public? constructor(multiplier: Int): R|AnotherClass| {
super<R|kotlin/Any|>()
LAZY_super<R|kotlin/Any|>
}
public? final? var anotherInt: Int = LAZY_EXPRESSION
@@ -33,7 +33,7 @@ FILE: propertyAccessorsContractDescription.kt
}
public? final? class SomeClass : R|kotlin/Any| {
public? constructor(multiplier: Int?): R|SomeClass| {
super<R|kotlin/Any|>()
LAZY_super<R|kotlin/Any|>
}
public? final? var someInt: Int = LAZY_EXPRESSION
@@ -1,7 +1,7 @@
FILE: derivedClass.kt
public? open class Base<T> : R|kotlin/Any| {
public? constructor<T>(x: T): R|Base<T>| {
super<R|kotlin/Any|>()
LAZY_super<R|kotlin/Any|>
}
public? final? val x: T = R|<local>/x|
@@ -10,7 +10,7 @@ FILE: derivedClass.kt
}
public? final? class Derived<T : Any> : Base<T> {
public? constructor<T : Any>(x: T): R|Derived<T>| {
super<Base<T>>(x#)
LAZY_super<Base<T>>
}
}
@@ -19,7 +19,7 @@ FILE: enums.kt
}
public? final? enum class Planet : R|kotlin/Enum<Planet>| {
private constructor(m: Double, r: Double): R|Planet| {
super<R|kotlin/Enum<Planet>|>()
LAZY_super<R|kotlin/Enum<Planet>|>
}
public? final? val m: Double = R|<local>/m|
@@ -58,7 +58,7 @@ FILE: enums.kt
}
public? final? enum class PseudoInsn : R|kotlin/Enum<PseudoInsn>| {
private constructor(signature: String = String(()V)): R|PseudoInsn| {
super<R|kotlin/Enum<PseudoInsn>|>()
LAZY_super<R|kotlin/Enum<PseudoInsn>|>
}
public? final? val signature: String = R|<local>/signature|
@@ -15,7 +15,7 @@ FILE: enums2.kt
}
public? final? enum class SomeEnum : R|kotlin/Enum<SomeEnum>| {
private constructor(x: Some): R|SomeEnum| {
super<R|kotlin/Enum<SomeEnum>|>()
LAZY_super<R|kotlin/Enum<SomeEnum>|>
}
public? final? val x: Some = R|<local>/x|
@@ -1,7 +1,7 @@
FILE: nestedClass.kt
public? abstract class Base : R|kotlin/Any| {
public? constructor(s: String): R|Base| {
super<R|kotlin/Any|>()
LAZY_super<R|kotlin/Any|>
}
public? final? val s: String = R|<local>/s|
@@ -15,7 +15,7 @@ FILE: nestedClass.kt
public? final? class Derived : Base {
public? constructor(s: String): R|Outer.Derived| {
super<Base>(s#)
LAZY_super<Base>
}
}
@@ -1,7 +1,7 @@
FILE: noParameterTypRefInPrimaryConstructor.kt
public? final? class X : R|kotlin/Any| {
public? constructor(x: <ERROR TYPE REF: No type for parameter>): R|X| {
super<R|kotlin/Any|>()
LAZY_super<R|kotlin/Any|>
}
}
@@ -1,7 +1,7 @@
FILE: noParameterTypRefInPrimaryConsturctorVal.kt
public? final? class X : R|kotlin/Any| {
public? constructor(x: <ERROR TYPE REF: No type for parameter>): R|X| {
super<R|kotlin/Any|>()
LAZY_super<R|kotlin/Any|>
}
public? final? val x: <ERROR TYPE REF: No type for parameter> = R|<local>/x|
@@ -1,7 +1,5 @@
FILE: noParameterTypRefInSecondaryConstructor.kt
public? final? class C : R|kotlin/Any| {
public? constructor(x: <ERROR TYPE REF: No type for parameter>): R|C| {
super<R|kotlin/Any|>()
}
public? constructor(x: <ERROR TYPE REF: No type for parameter>): R|C| { LAZY_BLOCK }
}
@@ -3,13 +3,10 @@ FILE: noPrimaryConstructor.kt
public? final? val x: String
public? get(): String
public? constructor(x: String): R|NoPrimary| {
super<R|kotlin/Any|>()
this#.x# = x#
}
public? constructor(x: String): R|NoPrimary| { LAZY_BLOCK }
public? constructor(): R|NoPrimary| {
this<R|NoPrimary|>(String())
LAZY_this<R|NoPrimary|>
}
}