diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/FirLazyBodiesCalculator.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/FirLazyBodiesCalculator.kt index f0094963733..2d7768d6318 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/FirLazyBodiesCalculator.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/FirLazyBodiesCalculator.kt @@ -96,14 +96,13 @@ internal object FirLazyBodiesCalculator { fun calculateLazyBodyForConstructor(designation: FirDesignation) { val constructor = designation.target as FirConstructor - require(constructor.psi is KtConstructor<*>) require(needCalculatingLazyBodyForConstructor(constructor)) val newConstructor = RawFirNonLocalDeclarationBuilder.buildWithFunctionSymbolRebind( session = constructor.moduleData.session, scopeProvider = constructor.moduleData.session.kotlinScopeProvider, designation = designation, - rootNonLocalDeclaration = constructor.psi as KtConstructor<*>, + rootNonLocalDeclaration = constructor.psi as KtDeclaration, ) as FirConstructor constructor.apply { diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/RawFirNonLocalDeclarationBuilder.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/RawFirNonLocalDeclarationBuilder.kt index 52fb95e3c69..afcae6ffc8a 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/RawFirNonLocalDeclarationBuilder.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/RawFirNonLocalDeclarationBuilder.kt @@ -24,8 +24,10 @@ import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.psi import org.jetbrains.kotlin.psi.* +import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject import org.jetbrains.kotlin.psi.psiUtil.hasExpectModifier import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull +import org.jetbrains.kotlin.utils.addToStdlib.lastIsInstanceOrNull internal class RawFirNonLocalDeclarationBuilder private constructor( session: FirSession, @@ -136,7 +138,7 @@ internal class RawFirNonLocalDeclarationBuilder private constructor( private fun extractContructorConversionParams( classOrObject: KtClassOrObject, - constructor: KtConstructor<*> + constructor: KtConstructor<*>? ): ConstructorConversionParams { val typeParameters = mutableListOf() context.appendOuterTypeParameters(ignoreLastLevel = false, typeParameters) @@ -144,7 +146,7 @@ internal class RawFirNonLocalDeclarationBuilder private constructor( withPsiEntry("constructor", constructor) } val selfType = classOrObject.toDelegatedSelfType(typeParameters, containingClass.symbol) - val superTypeCallEntry = classOrObject.superTypeListEntries.firstIsInstanceOrNull() + val superTypeCallEntry = classOrObject.superTypeListEntries.lastIsInstanceOrNull() return ConstructorConversionParams(superTypeCallEntry, selfType, typeParameters) } @@ -163,8 +165,7 @@ internal class RawFirNonLocalDeclarationBuilder private constructor( ) } - override fun visitPrimaryConstructor(constructor: KtPrimaryConstructor, data: Unit?): FirElement { - val classOrObject = constructor.getContainingClassOrObject() + fun processPrimaryConstructor(classOrObject: KtClassOrObject, constructor: KtPrimaryConstructor?): FirElement { val params = extractContructorConversionParams(classOrObject, constructor) val firConstructor = originalDeclaration as FirConstructor val calleeReference = firConstructor.delegatedConstructor?.calleeReference as FirSuperReference? @@ -183,6 +184,9 @@ internal class RawFirNonLocalDeclarationBuilder private constructor( return newConstructor } + override fun visitPrimaryConstructor(constructor: KtPrimaryConstructor, data: Unit?): FirElement = + processPrimaryConstructor(constructor.getContainingClassOrObject(), constructor) + override fun visitEnumEntry(enumEntry: KtEnumEntry, data: Unit?): FirElement { val owner = containingClass ?: buildErrorWithAttachment("Enum entry outside of class") { withPsiEntry("enumEntry", enumEntry) @@ -217,6 +221,13 @@ internal class RawFirNonLocalDeclarationBuilder private constructor( visitor.convertElement(declarationToBuild) } } + is KtClassOrObject -> { + if (originalDeclaration is FirConstructor) { + visitor.processPrimaryConstructor(declarationToBuild, null) + } else { + visitor.convertElement(declarationToBuild) + } + } else -> visitor.convertElement(declarationToBuild) } as FirDeclaration } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/annotationParameters.txt b/analysis/low-level-api-fir/testdata/lazyResolve/annotationParameters.txt index 90616523787..fbd82d06184 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/annotationParameters.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/annotationParameters.txt @@ -3,7 +3,7 @@ RAW_FIR: FILE: annotationParameters.kt public? final? [RAW_FIR] enum class X : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { - super|>() + LAZY_super|> } public final static [RAW_FIR] [ContainingClassKey=X] enum entry A: R|X| @@ -28,7 +28,7 @@ FILE: annotationParameters.kt } public? final? [RAW_FIR] class B : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } @Anno(LAZY_EXPRESSION) public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } @@ -41,7 +41,7 @@ IMPORTS: FILE: annotationParameters.kt public? final? [RAW_FIR] enum class X : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { - super|>() + LAZY_super|> } public final static [RAW_FIR] [ContainingClassKey=X] enum entry A: R|X| @@ -66,7 +66,7 @@ FILE: annotationParameters.kt } public? final? [RAW_FIR] class B : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } @Anno(LAZY_EXPRESSION) public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } @@ -79,7 +79,7 @@ COMPILER_REQUIRED_ANNOTATIONS: FILE: annotationParameters.kt public? final? [RAW_FIR] enum class X : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { - super|>() + LAZY_super|> } public final static [RAW_FIR] [ContainingClassKey=X] enum entry A: R|X| @@ -104,7 +104,7 @@ FILE: annotationParameters.kt } public? final? [RAW_FIR] class B : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } @Anno(LAZY_EXPRESSION) public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } @@ -117,7 +117,7 @@ COMPANION_GENERATION: FILE: annotationParameters.kt public? final? [RAW_FIR] enum class X : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { - super|>() + LAZY_super|> } public final static [RAW_FIR] [ContainingClassKey=X] enum entry A: R|X| @@ -142,7 +142,7 @@ FILE: annotationParameters.kt } public? final? [RAW_FIR] class B : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } @Anno(LAZY_EXPRESSION) public? final? [COMPANION_GENERATION] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } @@ -155,7 +155,7 @@ SUPER_TYPES: FILE: annotationParameters.kt public? final? [RAW_FIR] enum class X : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { - super|>() + LAZY_super|> } public final static [RAW_FIR] [ContainingClassKey=X] enum entry A: R|X| @@ -180,7 +180,7 @@ FILE: annotationParameters.kt } public? final? [RAW_FIR] class B : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } @Anno(LAZY_EXPRESSION) public? final? [SUPER_TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } @@ -193,7 +193,7 @@ TYPES: FILE: annotationParameters.kt public? final? [RAW_FIR] enum class X : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { - super|>() + LAZY_super|> } public final static [RAW_FIR] [ContainingClassKey=X] enum entry A: R|X| @@ -218,7 +218,7 @@ FILE: annotationParameters.kt } public? final? [SUPER_TYPES] class B : R|kotlin/Any| { public? [SUPER_TYPES] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } @R|Anno|(LAZY_EXPRESSION) public? final? [TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } @@ -231,7 +231,7 @@ STATUS: FILE: annotationParameters.kt public? final? [RAW_FIR] enum class X : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { - super|>() + LAZY_super|> } public final static [RAW_FIR] [ContainingClassKey=X] enum entry A: R|X| @@ -256,7 +256,7 @@ FILE: annotationParameters.kt } public final [SUPER_TYPES] class B : R|kotlin/Any| { public [TYPES] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } @R|Anno|(LAZY_EXPRESSION) public final [STATUS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } @@ -269,7 +269,7 @@ ARGUMENTS_OF_ANNOTATIONS: FILE: annotationParameters.kt public final [STATUS] enum class X : R|kotlin/Enum| { private [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super|>() + LAZY_super|> } public final static [STATUS] [ContainingClassKey=X] enum entry A: R|X| @@ -294,7 +294,7 @@ FILE: annotationParameters.kt } public final [STATUS] class B : R|kotlin/Any| { public [STATUS] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } @R|Anno|(Q|X|.R|/X.A|) public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } @@ -307,7 +307,7 @@ CONTRACTS: FILE: annotationParameters.kt public final [STATUS] enum class X : R|kotlin/Enum| { private [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super|>() + LAZY_super|> } public final static [STATUS] [ContainingClassKey=X] enum entry A: R|X| @@ -332,7 +332,7 @@ FILE: annotationParameters.kt } public final [STATUS] class B : R|kotlin/Any| { public [STATUS] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } @R|Anno|(Q|X|.R|/X.A|) public final [CONTRACTS] fun resolveMe(): R|kotlin/Unit| { @@ -346,7 +346,7 @@ IMPLICIT_TYPES_BODY_RESOLVE: FILE: annotationParameters.kt public final [STATUS] enum class X : R|kotlin/Enum| { private [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super|>() + LAZY_super|> } public final static [STATUS] [ContainingClassKey=X] enum entry A: R|X| @@ -371,7 +371,7 @@ FILE: annotationParameters.kt } public final [STATUS] class B : R|kotlin/Any| { public [STATUS] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } @R|Anno|(Q|X|.R|/X.A|) public final [IMPLICIT_TYPES_BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { @@ -385,7 +385,7 @@ ANNOTATIONS_ARGUMENTS_MAPPING: FILE: annotationParameters.kt public final [STATUS] enum class X : R|kotlin/Enum| { private [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super|>() + LAZY_super|> } public final static [STATUS] [ContainingClassKey=X] enum entry A: R|X| @@ -410,7 +410,7 @@ FILE: annotationParameters.kt } public final [STATUS] class B : R|kotlin/Any| { public [STATUS] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } @R|Anno|(args = Q|X|.R|/X.A|) public final [ANNOTATIONS_ARGUMENTS_MAPPING] fun resolveMe(): R|kotlin/Unit| { @@ -424,7 +424,7 @@ EXPECT_ACTUAL_MATCHING: FILE: annotationParameters.kt public final [STATUS] enum class X : R|kotlin/Enum| { private [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super|>() + LAZY_super|> } public final static [STATUS] [ContainingClassKey=X] enum entry A: R|X| @@ -449,7 +449,7 @@ FILE: annotationParameters.kt } public final [STATUS] class B : R|kotlin/Any| { public [STATUS] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } @R|Anno|(args = Q|X|.R|/X.A|) public final [EXPECT_ACTUAL_MATCHING] fun resolveMe(): R|kotlin/Unit| { @@ -463,7 +463,7 @@ BODY_RESOLVE: FILE: annotationParameters.kt public final [STATUS] enum class X : R|kotlin/Enum| { private [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super|>() + LAZY_super|> } public final static [STATUS] [ContainingClassKey=X] enum entry A: R|X| @@ -488,7 +488,7 @@ FILE: annotationParameters.kt } public final [STATUS] class B : R|kotlin/Any| { public [STATUS] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } @R|Anno|(args = Q|X|.R|/X.A|) public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/classMembers.txt b/analysis/low-level-api-fir/testdata/lazyResolve/classMembers.txt index 13a725551d2..ba8ffd53b76 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/classMembers.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/classMembers.txt @@ -3,7 +3,7 @@ RAW_FIR: FILE: classMembers.kt public? final? [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } @@ -21,7 +21,7 @@ IMPORTS: FILE: classMembers.kt public? final? [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } @@ -39,7 +39,7 @@ COMPILER_REQUIRED_ANNOTATIONS: FILE: classMembers.kt public? final? [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } @@ -57,7 +57,7 @@ COMPANION_GENERATION: FILE: classMembers.kt public? final? [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } public? final? [COMPANION_GENERATION] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } @@ -75,7 +75,7 @@ SUPER_TYPES: FILE: classMembers.kt public? final? [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } public? final? [SUPER_TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } @@ -93,7 +93,7 @@ TYPES: FILE: classMembers.kt public? final? [SUPER_TYPES] class A : R|kotlin/Any| { public? [SUPER_TYPES] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } public? final? [TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } @@ -111,7 +111,7 @@ STATUS: FILE: classMembers.kt public final [SUPER_TYPES] class A : R|kotlin/Any| { public [TYPES] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } public final [STATUS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } @@ -129,7 +129,7 @@ ARGUMENTS_OF_ANNOTATIONS: FILE: classMembers.kt public final [STATUS] class A : R|kotlin/Any| { public [STATUS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } @@ -147,7 +147,7 @@ CONTRACTS: FILE: classMembers.kt public final [STATUS] class A : R|kotlin/Any| { public [STATUS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } public final [CONTRACTS] fun resolveMe(): R|kotlin/Unit| { @@ -167,7 +167,7 @@ IMPLICIT_TYPES_BODY_RESOLVE: FILE: classMembers.kt public final [STATUS] class A : R|kotlin/Any| { public [STATUS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } public final [IMPLICIT_TYPES_BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { @@ -187,7 +187,7 @@ ANNOTATIONS_ARGUMENTS_MAPPING: FILE: classMembers.kt public final [STATUS] class A : R|kotlin/Any| { public [STATUS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } public final [ANNOTATIONS_ARGUMENTS_MAPPING] fun resolveMe(): R|kotlin/Unit| { @@ -207,7 +207,7 @@ EXPECT_ACTUAL_MATCHING: FILE: classMembers.kt public final [STATUS] class A : R|kotlin/Any| { public [STATUS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } public final [EXPECT_ACTUAL_MATCHING] fun resolveMe(): R|kotlin/Unit| { @@ -227,7 +227,7 @@ BODY_RESOLVE: FILE: classMembers.kt public final [STATUS] class A : R|kotlin/Any| { public [STATUS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/classes/nestedClassWithPropertiesOverrides.txt b/analysis/low-level-api-fir/testdata/lazyResolve/classes/nestedClassWithPropertiesOverrides.txt index d927811f694..8e07f08a253 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/classes/nestedClassWithPropertiesOverrides.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/classes/nestedClassWithPropertiesOverrides.txt @@ -7,7 +7,7 @@ FILE: nestedClassWithPropertiesOverrides.kt public? final? [RAW_FIR] class ResolveMe : OV { public? [RAW_FIR] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| { - super<>() + LAZY_super<> } public? open? override [RAW_FIR] val originalExpressions: A @@ -18,7 +18,7 @@ FILE: nestedClassWithPropertiesOverrides.kt } public? final? [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } @@ -31,7 +31,7 @@ FILE: nestedClassWithPropertiesOverrides.kt public? final? [RAW_FIR] class ResolveMe : OV { public? [RAW_FIR] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| { - super<>() + LAZY_super<> } public? open? override [RAW_FIR] val originalExpressions: A @@ -42,7 +42,7 @@ FILE: nestedClassWithPropertiesOverrides.kt } public? final? [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } @@ -55,7 +55,7 @@ FILE: nestedClassWithPropertiesOverrides.kt public? final? [COMPILER_REQUIRED_ANNOTATIONS] class ResolveMe : OV { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| { - super<>() + LAZY_super<> } public? open? override [COMPILER_REQUIRED_ANNOTATIONS] val originalExpressions: A @@ -66,7 +66,7 @@ FILE: nestedClassWithPropertiesOverrides.kt } public? final? [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } @@ -79,7 +79,7 @@ FILE: nestedClassWithPropertiesOverrides.kt public? final? [COMPANION_GENERATION] class ResolveMe : OV { public? [COMPANION_GENERATION] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| { - super<>() + LAZY_super<> } public? open? override [COMPANION_GENERATION] val originalExpressions: A @@ -90,7 +90,7 @@ FILE: nestedClassWithPropertiesOverrides.kt } public? final? [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } @@ -103,7 +103,7 @@ FILE: nestedClassWithPropertiesOverrides.kt public? final? [SUPER_TYPES] class ResolveMe : R|OV| { public? [SUPER_TYPES] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| { - super<>() + LAZY_super<> } public? open? override [SUPER_TYPES] val originalExpressions: A @@ -114,7 +114,7 @@ FILE: nestedClassWithPropertiesOverrides.kt } public? final? [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } @@ -127,7 +127,7 @@ FILE: nestedClassWithPropertiesOverrides.kt public? final? [TYPES] class ResolveMe : R|OV| { public? [TYPES] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| { - super<>() + LAZY_super<> } public? open? override [TYPES] val originalExpressions: R|A| @@ -138,7 +138,7 @@ FILE: nestedClassWithPropertiesOverrides.kt } public? final? [COMPILER_REQUIRED_ANNOTATIONS] class A : R|kotlin/Any| { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } @@ -151,7 +151,7 @@ FILE: nestedClassWithPropertiesOverrides.kt public final [STATUS] class ResolveMe : R|OV| { public [STATUS] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| { - super<>() + LAZY_super<> } public open override [STATUS] val originalExpressions: R|A| @@ -162,7 +162,7 @@ FILE: nestedClassWithPropertiesOverrides.kt } public? final? [COMPILER_REQUIRED_ANNOTATIONS] class A : R|kotlin/Any| { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } @@ -175,7 +175,7 @@ FILE: nestedClassWithPropertiesOverrides.kt public final [ARGUMENTS_OF_ANNOTATIONS] class ResolveMe : R|OV| { public [ARGUMENTS_OF_ANNOTATIONS] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| { - super<>() + LAZY_super<> } public open override [ARGUMENTS_OF_ANNOTATIONS] val originalExpressions: R|A| @@ -186,7 +186,7 @@ FILE: nestedClassWithPropertiesOverrides.kt } public? final? [COMPILER_REQUIRED_ANNOTATIONS] class A : R|kotlin/Any| { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } @@ -210,7 +210,7 @@ FILE: nestedClassWithPropertiesOverrides.kt } public? final? [COMPILER_REQUIRED_ANNOTATIONS] class A : R|kotlin/Any| { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } @@ -234,7 +234,7 @@ FILE: nestedClassWithPropertiesOverrides.kt } public? final? [COMPILER_REQUIRED_ANNOTATIONS] class A : R|kotlin/Any| { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } @@ -258,7 +258,7 @@ FILE: nestedClassWithPropertiesOverrides.kt } public? final? [COMPILER_REQUIRED_ANNOTATIONS] class A : R|kotlin/Any| { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } @@ -282,7 +282,7 @@ FILE: nestedClassWithPropertiesOverrides.kt } public? final? [COMPILER_REQUIRED_ANNOTATIONS] class A : R|kotlin/Any| { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } @@ -306,7 +306,7 @@ FILE: nestedClassWithPropertiesOverrides.kt } public? final? [COMPILER_REQUIRED_ANNOTATIONS] class A : R|kotlin/Any| { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/enumEntry.txt b/analysis/low-level-api-fir/testdata/lazyResolve/enumEntry.txt index 323bebcc8da..b823aaebe56 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/enumEntry.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/enumEntry.txt @@ -3,13 +3,13 @@ RAW_FIR: FILE: enumEntry.kt public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| { public? [RAW_FIR] [ContainingClassKey=Anno] constructor(): R|Anno| { - super() + LAZY_super } } public? final? [RAW_FIR] enum class Foo : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=Foo] constructor(): R|Foo| { - super|>() + LAZY_super|> } @Anno() public final static [RAW_FIR] [ContainingClassKey=Foo] enum entry ResolveMe: R|Foo| = LAZY_EXPRESSION @@ -28,13 +28,13 @@ IMPORTS: FILE: enumEntry.kt public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| { public? [RAW_FIR] [ContainingClassKey=Anno] constructor(): R|Anno| { - super() + LAZY_super } } public? final? [RAW_FIR] enum class Foo : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=Foo] constructor(): R|Foo| { - super|>() + LAZY_super|> } @Anno() public final static [RAW_FIR] [ContainingClassKey=Foo] enum entry ResolveMe: R|Foo| = LAZY_EXPRESSION @@ -53,13 +53,13 @@ COMPILER_REQUIRED_ANNOTATIONS: FILE: enumEntry.kt public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| { public? [RAW_FIR] [ContainingClassKey=Anno] constructor(): R|Anno| { - super() + LAZY_super } } public? final? [RAW_FIR] enum class Foo : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=Foo] constructor(): R|Foo| { - super|>() + LAZY_super|> } @Anno() public final static [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Foo] enum entry ResolveMe: R|Foo| = LAZY_EXPRESSION @@ -78,13 +78,13 @@ COMPANION_GENERATION: FILE: enumEntry.kt public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| { public? [RAW_FIR] [ContainingClassKey=Anno] constructor(): R|Anno| { - super() + LAZY_super } } public? final? [RAW_FIR] enum class Foo : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=Foo] constructor(): R|Foo| { - super|>() + LAZY_super|> } @Anno() public final static [COMPANION_GENERATION] [ContainingClassKey=Foo] enum entry ResolveMe: R|Foo| = LAZY_EXPRESSION @@ -103,13 +103,13 @@ SUPER_TYPES: FILE: enumEntry.kt public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| { public? [RAW_FIR] [ContainingClassKey=Anno] constructor(): R|Anno| { - super() + LAZY_super } } public? final? [RAW_FIR] enum class Foo : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=Foo] constructor(): R|Foo| { - super|>() + LAZY_super|> } @Anno() public final static [SUPER_TYPES] [ContainingClassKey=Foo] enum entry ResolveMe: R|Foo| = LAZY_EXPRESSION @@ -128,13 +128,13 @@ TYPES: FILE: enumEntry.kt public? final? [COMPILER_REQUIRED_ANNOTATIONS] annotation class Anno : R|kotlin/Annotation| { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor(): R|Anno| { - super() + LAZY_super } } public? final? [SUPER_TYPES] enum class Foo : R|kotlin/Enum| { private [SUPER_TYPES] [ContainingClassKey=Foo] constructor(): R|Foo| { - super|>() + LAZY_super|> } @R|Anno|() public final static [TYPES] [ContainingClassKey=Foo] enum entry ResolveMe: R|Foo| = LAZY_EXPRESSION @@ -153,13 +153,13 @@ STATUS: FILE: enumEntry.kt public? final? [COMPILER_REQUIRED_ANNOTATIONS] annotation class Anno : R|kotlin/Annotation| { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor(): R|Anno| { - super() + LAZY_super } } public final [SUPER_TYPES] enum class Foo : R|kotlin/Enum| { private [TYPES] [ContainingClassKey=Foo] constructor(): R|Foo| { - super|>() + LAZY_super|> } @R|Anno|() public final static [STATUS] [ContainingClassKey=Foo] enum entry ResolveMe: R|Foo| = LAZY_EXPRESSION @@ -178,13 +178,13 @@ ARGUMENTS_OF_ANNOTATIONS: FILE: enumEntry.kt public? final? [COMPILER_REQUIRED_ANNOTATIONS] annotation class Anno : R|kotlin/Annotation| { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor(): R|Anno| { - super() + LAZY_super } } public final [STATUS] enum class Foo : R|kotlin/Enum| { private [STATUS] [ContainingClassKey=Foo] constructor(): R|Foo| { - super|>() + LAZY_super|> } @R|Anno|() public final static [ARGUMENTS_OF_ANNOTATIONS] [ContainingClassKey=Foo] enum entry ResolveMe: R|Foo| = LAZY_EXPRESSION @@ -203,13 +203,13 @@ CONTRACTS: FILE: enumEntry.kt public? final? [COMPILER_REQUIRED_ANNOTATIONS] annotation class Anno : R|kotlin/Annotation| { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor(): R|Anno| { - super() + LAZY_super } } public final [STATUS] enum class Foo : R|kotlin/Enum| { private [STATUS] [ContainingClassKey=Foo] constructor(): R|Foo| { - super|>() + LAZY_super|> } @R|Anno|() public final static [CONTRACTS] [ContainingClassKey=Foo] enum entry ResolveMe: R|Foo| = object : R|Foo| { @@ -234,13 +234,13 @@ IMPLICIT_TYPES_BODY_RESOLVE: FILE: enumEntry.kt public? final? [COMPILER_REQUIRED_ANNOTATIONS] annotation class Anno : R|kotlin/Annotation| { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor(): R|Anno| { - super() + LAZY_super } } public final [STATUS] enum class Foo : R|kotlin/Enum| { private [STATUS] [ContainingClassKey=Foo] constructor(): R|Foo| { - super|>() + LAZY_super|> } @R|Anno|() public final static [IMPLICIT_TYPES_BODY_RESOLVE] [ContainingClassKey=Foo] enum entry ResolveMe: R|Foo| = object : R|Foo| { @@ -265,13 +265,13 @@ ANNOTATIONS_ARGUMENTS_MAPPING: FILE: enumEntry.kt public final [SUPER_TYPES] annotation class Anno : R|kotlin/Annotation| { public [STATUS] [ContainingClassKey=Anno] constructor(): R|Anno| { - super() + LAZY_super } } public final [STATUS] enum class Foo : R|kotlin/Enum| { private [STATUS] [ContainingClassKey=Foo] constructor(): R|Foo| { - super|>() + LAZY_super|> } @R|Anno|() public final static [ANNOTATIONS_ARGUMENTS_MAPPING] [ContainingClassKey=Foo] enum entry ResolveMe: R|Foo| = object : R|Foo| { @@ -296,13 +296,13 @@ EXPECT_ACTUAL_MATCHING: FILE: enumEntry.kt public final [SUPER_TYPES] annotation class Anno : R|kotlin/Annotation| { public [STATUS] [ContainingClassKey=Anno] constructor(): R|Anno| { - super() + LAZY_super } } public final [STATUS] enum class Foo : R|kotlin/Enum| { private [STATUS] [ContainingClassKey=Foo] constructor(): R|Foo| { - super|>() + LAZY_super|> } @R|Anno|() public final static [EXPECT_ACTUAL_MATCHING] [ContainingClassKey=Foo] enum entry ResolveMe: R|Foo| = object : R|Foo| { @@ -327,13 +327,13 @@ BODY_RESOLVE: FILE: enumEntry.kt public final [SUPER_TYPES] annotation class Anno : R|kotlin/Annotation| { public [STATUS] [ContainingClassKey=Anno] constructor(): R|Anno| { - super() + LAZY_super } } public final [STATUS] enum class Foo : R|kotlin/Enum| { private [STATUS] [ContainingClassKey=Foo] constructor(): R|Foo| { - super|>() + LAZY_super|> } @R|Anno|() public final static [BODY_RESOLVE] [ContainingClassKey=Foo] enum entry ResolveMe: R|Foo| = object : R|Foo| { diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionCallWithGenericResult.txt b/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionCallWithGenericResult.txt index f3b4f747dcf..66ce6a11465 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionCallWithGenericResult.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionCallWithGenericResult.txt @@ -3,7 +3,7 @@ RAW_FIR: FILE: functionCallWithGenericResult.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } @@ -14,7 +14,7 @@ IMPORTS: FILE: functionCallWithGenericResult.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } @@ -25,7 +25,7 @@ COMPILER_REQUIRED_ANNOTATIONS: FILE: functionCallWithGenericResult.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } @@ -36,7 +36,7 @@ COMPANION_GENERATION: FILE: functionCallWithGenericResult.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } @@ -47,7 +47,7 @@ SUPER_TYPES: FILE: functionCallWithGenericResult.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } @@ -58,7 +58,7 @@ TYPES: FILE: functionCallWithGenericResult.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } @@ -69,7 +69,7 @@ STATUS: FILE: functionCallWithGenericResult.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } @@ -80,7 +80,7 @@ ARGUMENTS_OF_ANNOTATIONS: FILE: functionCallWithGenericResult.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } @@ -91,7 +91,7 @@ CONTRACTS: FILE: functionCallWithGenericResult.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } @@ -104,7 +104,7 @@ IMPLICIT_TYPES_BODY_RESOLVE: FILE: functionCallWithGenericResult.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } @@ -117,7 +117,7 @@ ANNOTATIONS_ARGUMENTS_MAPPING: FILE: functionCallWithGenericResult.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } @@ -130,7 +130,7 @@ EXPECT_ACTUAL_MATCHING: FILE: functionCallWithGenericResult.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } @@ -143,7 +143,7 @@ BODY_RESOLVE: FILE: functionCallWithGenericResult.kt public? open [COMPILER_REQUIRED_ANNOTATIONS] class Foo<[COMPILER_REQUIRED_ANNOTATIONS] T : CharSequence> : R|kotlin/Any| { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Foo] constructor<[COMPILER_REQUIRED_ANNOTATIONS] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionWithGenericExpectedTypeInside.txt b/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionWithGenericExpectedTypeInside.txt index 61568276ea8..6e14d7e9de6 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionWithGenericExpectedTypeInside.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionWithGenericExpectedTypeInside.txt @@ -1,14 +1,15 @@ + RAW_FIR: FILE: functionWithGenericExpectedTypeInside.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } public? final? [RAW_FIR] class Bar : Foo { public? [RAW_FIR] [ContainingClassKey=Bar] constructor(): R|Bar| { - super<>() + LAZY_super<> } } @@ -19,13 +20,13 @@ IMPORTS: FILE: functionWithGenericExpectedTypeInside.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } public? final? [RAW_FIR] class Bar : Foo { public? [RAW_FIR] [ContainingClassKey=Bar] constructor(): R|Bar| { - super<>() + LAZY_super<> } } @@ -36,13 +37,13 @@ COMPILER_REQUIRED_ANNOTATIONS: FILE: functionWithGenericExpectedTypeInside.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } public? final? [RAW_FIR] class Bar : Foo { public? [RAW_FIR] [ContainingClassKey=Bar] constructor(): R|Bar| { - super<>() + LAZY_super<> } } @@ -53,13 +54,13 @@ COMPANION_GENERATION: FILE: functionWithGenericExpectedTypeInside.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } public? final? [RAW_FIR] class Bar : Foo { public? [RAW_FIR] [ContainingClassKey=Bar] constructor(): R|Bar| { - super<>() + LAZY_super<> } } @@ -70,13 +71,13 @@ SUPER_TYPES: FILE: functionWithGenericExpectedTypeInside.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } public? final? [RAW_FIR] class Bar : Foo { public? [RAW_FIR] [ContainingClassKey=Bar] constructor(): R|Bar| { - super<>() + LAZY_super<> } } @@ -87,13 +88,13 @@ TYPES: FILE: functionWithGenericExpectedTypeInside.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } public? final? [RAW_FIR] class Bar : Foo { public? [RAW_FIR] [ContainingClassKey=Bar] constructor(): R|Bar| { - super<>() + LAZY_super<> } } @@ -104,13 +105,13 @@ STATUS: FILE: functionWithGenericExpectedTypeInside.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } public? final? [RAW_FIR] class Bar : Foo { public? [RAW_FIR] [ContainingClassKey=Bar] constructor(): R|Bar| { - super<>() + LAZY_super<> } } @@ -121,13 +122,13 @@ ARGUMENTS_OF_ANNOTATIONS: FILE: functionWithGenericExpectedTypeInside.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } public? final? [RAW_FIR] class Bar : Foo { public? [RAW_FIR] [ContainingClassKey=Bar] constructor(): R|Bar| { - super<>() + LAZY_super<> } } @@ -138,13 +139,13 @@ CONTRACTS: FILE: functionWithGenericExpectedTypeInside.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } public? final? [RAW_FIR] class Bar : Foo { public? [RAW_FIR] [ContainingClassKey=Bar] constructor(): R|Bar| { - super<>() + LAZY_super<> } } @@ -157,13 +158,13 @@ IMPLICIT_TYPES_BODY_RESOLVE: FILE: functionWithGenericExpectedTypeInside.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } public? final? [RAW_FIR] class Bar : Foo { public? [RAW_FIR] [ContainingClassKey=Bar] constructor(): R|Bar| { - super<>() + LAZY_super<> } } @@ -176,13 +177,13 @@ ANNOTATIONS_ARGUMENTS_MAPPING: FILE: functionWithGenericExpectedTypeInside.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } public? final? [RAW_FIR] class Bar : Foo { public? [RAW_FIR] [ContainingClassKey=Bar] constructor(): R|Bar| { - super<>() + LAZY_super<> } } @@ -195,13 +196,13 @@ EXPECT_ACTUAL_MATCHING: FILE: functionWithGenericExpectedTypeInside.kt public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { - super() + LAZY_super } } public? final? [RAW_FIR] class Bar : Foo { public? [RAW_FIR] [ContainingClassKey=Bar] constructor(): R|Bar| { - super<>() + LAZY_super<> } } @@ -214,13 +215,13 @@ BODY_RESOLVE: FILE: functionWithGenericExpectedTypeInside.kt public open [TYPES] class Foo<[TYPES] T : R|kotlin/CharSequence|> : R|kotlin/Any| { public [TYPES] [ContainingClassKey=Foo] constructor<[TYPES] T : R|kotlin/CharSequence|>(): R|Foo| { - super() + LAZY_super } } public final [TYPES] class Bar : R|Foo| { public [STATUS] [ContainingClassKey=Bar] constructor(): R|Bar| { - super<>() + LAZY_super<> } } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/lambdaAsSAMInterface.txt b/analysis/low-level-api-fir/testdata/lazyResolve/lambdaAsSAMInterface.txt index 3ea3e9a9054..fd8dc5b3530 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/lambdaAsSAMInterface.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/lambdaAsSAMInterface.txt @@ -3,7 +3,7 @@ RAW_FIR: FILE: lambdaAsSAMInterface.kt public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { - super() + LAZY_super } } @@ -18,7 +18,7 @@ IMPORTS: FILE: lambdaAsSAMInterface.kt public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { - super() + LAZY_super } } @@ -33,7 +33,7 @@ COMPILER_REQUIRED_ANNOTATIONS: FILE: lambdaAsSAMInterface.kt public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { - super() + LAZY_super } } @@ -48,7 +48,7 @@ COMPANION_GENERATION: FILE: lambdaAsSAMInterface.kt public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { - super() + LAZY_super } } @@ -63,7 +63,7 @@ SUPER_TYPES: FILE: lambdaAsSAMInterface.kt public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { - super() + LAZY_super } } @@ -78,7 +78,7 @@ TYPES: FILE: lambdaAsSAMInterface.kt public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { - super() + LAZY_super } } @@ -93,7 +93,7 @@ STATUS: FILE: lambdaAsSAMInterface.kt public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { - super() + LAZY_super } } @@ -108,7 +108,7 @@ ARGUMENTS_OF_ANNOTATIONS: FILE: lambdaAsSAMInterface.kt public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { - super() + LAZY_super } } @@ -123,7 +123,7 @@ CONTRACTS: FILE: lambdaAsSAMInterface.kt public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { - super() + LAZY_super } } @@ -143,7 +143,7 @@ IMPLICIT_TYPES_BODY_RESOLVE: FILE: lambdaAsSAMInterface.kt public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { - super() + LAZY_super } } @@ -163,7 +163,7 @@ ANNOTATIONS_ARGUMENTS_MAPPING: FILE: lambdaAsSAMInterface.kt public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { - super() + LAZY_super } } @@ -183,7 +183,7 @@ EXPECT_ACTUAL_MATCHING: FILE: lambdaAsSAMInterface.kt public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { - super() + LAZY_super } } @@ -203,7 +203,7 @@ BODY_RESOLVE: FILE: lambdaAsSAMInterface.kt public? final? [COMPILER_REQUIRED_ANNOTATIONS] class Arg : R|kotlin/Any| { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { - super() + LAZY_super } } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/parameterOfNonLocalSetter.txt b/analysis/low-level-api-fir/testdata/lazyResolve/parameterOfNonLocalSetter.txt index aeb449fb4be..a9eab68ca74 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/parameterOfNonLocalSetter.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/parameterOfNonLocalSetter.txt @@ -3,7 +3,7 @@ RAW_FIR: FILE: parameterOfNonLocalSetter.kt public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public? final? [RAW_FIR] var x: Int = LAZY_EXPRESSION @@ -16,7 +16,7 @@ IMPORTS: FILE: parameterOfNonLocalSetter.kt public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public? final? [RAW_FIR] var x: Int = LAZY_EXPRESSION @@ -29,7 +29,7 @@ COMPILER_REQUIRED_ANNOTATIONS: FILE: parameterOfNonLocalSetter.kt public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public? final? [COMPILER_REQUIRED_ANNOTATIONS] var x: Int = LAZY_EXPRESSION @@ -42,7 +42,7 @@ COMPANION_GENERATION: FILE: parameterOfNonLocalSetter.kt public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public? final? [COMPANION_GENERATION] var x: Int = LAZY_EXPRESSION @@ -55,7 +55,7 @@ SUPER_TYPES: FILE: parameterOfNonLocalSetter.kt public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public? final? [SUPER_TYPES] var x: Int = LAZY_EXPRESSION @@ -68,7 +68,7 @@ TYPES: FILE: parameterOfNonLocalSetter.kt public? final? [SUPER_TYPES] class X : R|kotlin/Any| { public? [SUPER_TYPES] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public? final? [TYPES] var x: R|kotlin/Int| = LAZY_EXPRESSION @@ -81,7 +81,7 @@ STATUS: FILE: parameterOfNonLocalSetter.kt public final [SUPER_TYPES] class X : R|kotlin/Any| { public [TYPES] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public final [STATUS] var x: R|kotlin/Int| = LAZY_EXPRESSION @@ -94,7 +94,7 @@ ARGUMENTS_OF_ANNOTATIONS: FILE: parameterOfNonLocalSetter.kt public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public final [ARGUMENTS_OF_ANNOTATIONS] var x: R|kotlin/Int| = LAZY_EXPRESSION @@ -107,7 +107,7 @@ CONTRACTS: FILE: parameterOfNonLocalSetter.kt public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public final [CONTRACTS] var x: R|kotlin/Int| = IntegerLiteral(2) @@ -122,7 +122,7 @@ IMPLICIT_TYPES_BODY_RESOLVE: FILE: parameterOfNonLocalSetter.kt public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public final [IMPLICIT_TYPES_BODY_RESOLVE] var x: R|kotlin/Int| = IntegerLiteral(2) @@ -137,7 +137,7 @@ ANNOTATIONS_ARGUMENTS_MAPPING: FILE: parameterOfNonLocalSetter.kt public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public final [ANNOTATIONS_ARGUMENTS_MAPPING] var x: R|kotlin/Int| = IntegerLiteral(2) @@ -152,7 +152,7 @@ EXPECT_ACTUAL_MATCHING: FILE: parameterOfNonLocalSetter.kt public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public final [EXPECT_ACTUAL_MATCHING] var x: R|kotlin/Int| = IntegerLiteral(2) @@ -167,7 +167,7 @@ BODY_RESOLVE: FILE: parameterOfNonLocalSetter.kt public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public final [BODY_RESOLVE] var x: R|kotlin/Int| = Int(2) diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/superTypes.txt b/analysis/low-level-api-fir/testdata/lazyResolve/superTypes.txt index ea45152c8ee..f2e0fdc02c1 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/superTypes.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/superTypes.txt @@ -3,19 +3,19 @@ RAW_FIR: FILE: superTypes.kt public? open [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [RAW_FIR] class B : A { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public? open [RAW_FIR] class resolveMe : A { public? [RAW_FIR] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { - super() + LAZY_super } } @@ -24,19 +24,19 @@ IMPORTS: FILE: superTypes.kt public? open [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [RAW_FIR] class B : A { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public? open [RAW_FIR] class resolveMe : A { public? [RAW_FIR] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { - super() + LAZY_super } } @@ -45,19 +45,19 @@ COMPILER_REQUIRED_ANNOTATIONS: FILE: superTypes.kt public? open [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [RAW_FIR] class B : A { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public? open [COMPILER_REQUIRED_ANNOTATIONS] class resolveMe : A { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { - super() + LAZY_super } } @@ -66,19 +66,19 @@ COMPANION_GENERATION: FILE: superTypes.kt public? open [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [RAW_FIR] class B : A { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public? open [COMPANION_GENERATION] class resolveMe : A { public? [COMPANION_GENERATION] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { - super() + LAZY_super } } @@ -87,19 +87,19 @@ SUPER_TYPES: FILE: superTypes.kt public? open [COMPILER_REQUIRED_ANNOTATIONS] class A : R|kotlin/Any| { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [RAW_FIR] class B : A { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public? open [SUPER_TYPES] class resolveMe : R|A| { public? [SUPER_TYPES] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { - super() + LAZY_super } } @@ -108,19 +108,19 @@ TYPES: FILE: superTypes.kt public? open [SUPER_TYPES] class A : R|kotlin/Any| { public? [SUPER_TYPES] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [RAW_FIR] class B : A { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public? open [TYPES] class resolveMe : R|A| { public? [TYPES] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { - super() + LAZY_super } } @@ -129,19 +129,19 @@ STATUS: FILE: superTypes.kt public open [TYPES] class A : R|kotlin/Any| { public [TYPES] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [RAW_FIR] class B : A { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public open [STATUS] class resolveMe : R|A| { public [STATUS] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { - super() + LAZY_super } } @@ -150,19 +150,19 @@ ARGUMENTS_OF_ANNOTATIONS: FILE: superTypes.kt public open [TYPES] class A : R|kotlin/Any| { public [TYPES] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [RAW_FIR] class B : A { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public open [ARGUMENTS_OF_ANNOTATIONS] class resolveMe : R|A| { public [ARGUMENTS_OF_ANNOTATIONS] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { - super() + LAZY_super } } @@ -171,13 +171,13 @@ CONTRACTS: FILE: superTypes.kt public open [TYPES] class A : R|kotlin/Any| { public [TYPES] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [RAW_FIR] class B : A { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } @@ -192,13 +192,13 @@ IMPLICIT_TYPES_BODY_RESOLVE: FILE: superTypes.kt public open [TYPES] class A : R|kotlin/Any| { public [TYPES] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [RAW_FIR] class B : A { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } @@ -213,13 +213,13 @@ ANNOTATIONS_ARGUMENTS_MAPPING: FILE: superTypes.kt public open [TYPES] class A : R|kotlin/Any| { public [TYPES] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [RAW_FIR] class B : A { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } @@ -234,13 +234,13 @@ EXPECT_ACTUAL_MATCHING: FILE: superTypes.kt public open [TYPES] class A : R|kotlin/Any| { public [TYPES] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [RAW_FIR] class B : A { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } @@ -255,13 +255,13 @@ BODY_RESOLVE: FILE: superTypes.kt public open [STATUS] class A : R|kotlin/Any| { public [STATUS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [RAW_FIR] class B : A { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/superTypesLoop.txt b/analysis/low-level-api-fir/testdata/lazyResolve/superTypesLoop.txt index c9c52ec9881..cc55b1572f6 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/superTypesLoop.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/superTypesLoop.txt @@ -3,25 +3,25 @@ RAW_FIR: FILE: superTypesLoop.kt public? open [RAW_FIR] class resolveMe : C { public? [RAW_FIR] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { - super() + LAZY_super } } public? open [RAW_FIR] class A : B { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [RAW_FIR] class B : C { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public? open [RAW_FIR] class C : A { public? [RAW_FIR] [ContainingClassKey=C] constructor(): R|C| { - super() + LAZY_super } } @@ -30,25 +30,25 @@ IMPORTS: FILE: superTypesLoop.kt public? open [RAW_FIR] class resolveMe : C { public? [RAW_FIR] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { - super() + LAZY_super } } public? open [RAW_FIR] class A : B { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [RAW_FIR] class B : C { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public? open [RAW_FIR] class C : A { public? [RAW_FIR] [ContainingClassKey=C] constructor(): R|C| { - super() + LAZY_super } } @@ -57,25 +57,25 @@ COMPILER_REQUIRED_ANNOTATIONS: FILE: superTypesLoop.kt public? open [COMPILER_REQUIRED_ANNOTATIONS] class resolveMe : C { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { - super() + LAZY_super } } public? open [RAW_FIR] class A : B { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [RAW_FIR] class B : C { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public? open [RAW_FIR] class C : A { public? [RAW_FIR] [ContainingClassKey=C] constructor(): R|C| { - super() + LAZY_super } } @@ -84,25 +84,25 @@ COMPANION_GENERATION: FILE: superTypesLoop.kt public? open [COMPANION_GENERATION] class resolveMe : C { public? [COMPANION_GENERATION] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { - super() + LAZY_super } } public? open [RAW_FIR] class A : B { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [RAW_FIR] class B : C { public? [RAW_FIR] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public? open [RAW_FIR] class C : A { public? [RAW_FIR] [ContainingClassKey=C] constructor(): R|C| { - super() + LAZY_super } } @@ -111,25 +111,25 @@ SUPER_TYPES: FILE: superTypesLoop.kt public? open [SUPER_TYPES] class resolveMe : R|C| { public? [SUPER_TYPES] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { - super() + LAZY_super } } public? open [COMPILER_REQUIRED_ANNOTATIONS] class A : /B> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [COMPILER_REQUIRED_ANNOTATIONS] class B : /C> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public? open [COMPILER_REQUIRED_ANNOTATIONS] class C : /A> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=C] constructor(): R|C| { - super() + LAZY_super } } @@ -138,25 +138,25 @@ TYPES: FILE: superTypesLoop.kt public? open [TYPES] class resolveMe : R|C| { public? [TYPES] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { - super() + LAZY_super } } public? open [COMPILER_REQUIRED_ANNOTATIONS] class A : /B> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [COMPILER_REQUIRED_ANNOTATIONS] class B : /C> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public? open [SUPER_TYPES] class C : /A> { public? [SUPER_TYPES] [ContainingClassKey=C] constructor(): R|C| { - super() + LAZY_super } } @@ -165,25 +165,25 @@ STATUS: FILE: superTypesLoop.kt public open [STATUS] class resolveMe : R|C| { public [STATUS] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { - super() + LAZY_super } } public? open [COMPILER_REQUIRED_ANNOTATIONS] class A : /B> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [COMPILER_REQUIRED_ANNOTATIONS] class B : /C> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public open [TYPES] class C : /A> { public [TYPES] [ContainingClassKey=C] constructor(): R|C| { - super() + LAZY_super } } @@ -192,25 +192,25 @@ ARGUMENTS_OF_ANNOTATIONS: FILE: superTypesLoop.kt public open [ARGUMENTS_OF_ANNOTATIONS] class resolveMe : R|C| { public [ARGUMENTS_OF_ANNOTATIONS] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { - super() + LAZY_super } } public? open [COMPILER_REQUIRED_ANNOTATIONS] class A : /B> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [COMPILER_REQUIRED_ANNOTATIONS] class B : /C> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public open [TYPES] class C : /A> { public [TYPES] [ContainingClassKey=C] constructor(): R|C| { - super() + LAZY_super } } @@ -225,19 +225,19 @@ FILE: superTypesLoop.kt } public? open [COMPILER_REQUIRED_ANNOTATIONS] class A : /B> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [COMPILER_REQUIRED_ANNOTATIONS] class B : /C> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public open [TYPES] class C : /A> { public [TYPES] [ContainingClassKey=C] constructor(): R|C| { - super() + LAZY_super } } @@ -252,19 +252,19 @@ FILE: superTypesLoop.kt } public? open [COMPILER_REQUIRED_ANNOTATIONS] class A : /B> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [COMPILER_REQUIRED_ANNOTATIONS] class B : /C> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public open [TYPES] class C : /A> { public [TYPES] [ContainingClassKey=C] constructor(): R|C| { - super() + LAZY_super } } @@ -279,19 +279,19 @@ FILE: superTypesLoop.kt } public? open [COMPILER_REQUIRED_ANNOTATIONS] class A : /B> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [COMPILER_REQUIRED_ANNOTATIONS] class B : /C> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public open [TYPES] class C : /A> { public [TYPES] [ContainingClassKey=C] constructor(): R|C| { - super() + LAZY_super } } @@ -306,19 +306,19 @@ FILE: superTypesLoop.kt } public? open [COMPILER_REQUIRED_ANNOTATIONS] class A : /B> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [COMPILER_REQUIRED_ANNOTATIONS] class B : /C> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public open [TYPES] class C : /A> { public [TYPES] [ContainingClassKey=C] constructor(): R|C| { - super() + LAZY_super } } @@ -333,19 +333,19 @@ FILE: superTypesLoop.kt } public? open [COMPILER_REQUIRED_ANNOTATIONS] class A : /B> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=A] constructor(): R|A| { - super() + LAZY_super } } public? open [COMPILER_REQUIRED_ANNOTATIONS] class B : /C> { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=B] constructor(): R|B| { - super() + LAZY_super } } public open [STATUS] class C : /A> { public [STATUS] [ContainingClassKey=C] constructor(): R|C| { - super() + LAZY_super } } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterOfNonLocalFunction.txt b/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterOfNonLocalFunction.txt index 51067b42060..7d504056e90 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterOfNonLocalFunction.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterOfNonLocalFunction.txt @@ -3,7 +3,7 @@ RAW_FIR: FILE: typeParameterOfNonLocalFunction.kt public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public? final? [RAW_FIR] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK } @@ -14,7 +14,7 @@ IMPORTS: FILE: typeParameterOfNonLocalFunction.kt public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public? final? [RAW_FIR] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK } @@ -25,7 +25,7 @@ COMPILER_REQUIRED_ANNOTATIONS: FILE: typeParameterOfNonLocalFunction.kt public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun <[COMPILER_REQUIRED_ANNOTATIONS] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK } @@ -36,7 +36,7 @@ COMPANION_GENERATION: FILE: typeParameterOfNonLocalFunction.kt public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public? final? [COMPANION_GENERATION] fun <[COMPANION_GENERATION] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK } @@ -47,7 +47,7 @@ SUPER_TYPES: FILE: typeParameterOfNonLocalFunction.kt public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public? final? [SUPER_TYPES] fun <[SUPER_TYPES] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK } @@ -58,7 +58,7 @@ TYPES: FILE: typeParameterOfNonLocalFunction.kt public? final? [SUPER_TYPES] class X : R|kotlin/Any| { public? [SUPER_TYPES] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public? final? [TYPES] fun <[TYPES] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK } @@ -69,7 +69,7 @@ STATUS: FILE: typeParameterOfNonLocalFunction.kt public final [SUPER_TYPES] class X : R|kotlin/Any| { public [TYPES] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public final [STATUS] fun <[STATUS] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK } @@ -80,7 +80,7 @@ ARGUMENTS_OF_ANNOTATIONS: FILE: typeParameterOfNonLocalFunction.kt public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public final [ARGUMENTS_OF_ANNOTATIONS] fun <[ARGUMENTS_OF_ANNOTATIONS] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK } @@ -91,7 +91,7 @@ CONTRACTS: FILE: typeParameterOfNonLocalFunction.kt public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public final [CONTRACTS] fun <[CONTRACTS] resolveMe> ddd(): R|kotlin/Unit| { @@ -103,7 +103,7 @@ IMPLICIT_TYPES_BODY_RESOLVE: FILE: typeParameterOfNonLocalFunction.kt public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public final [IMPLICIT_TYPES_BODY_RESOLVE] fun <[IMPLICIT_TYPES_BODY_RESOLVE] resolveMe> ddd(): R|kotlin/Unit| { @@ -115,7 +115,7 @@ ANNOTATIONS_ARGUMENTS_MAPPING: FILE: typeParameterOfNonLocalFunction.kt public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public final [ANNOTATIONS_ARGUMENTS_MAPPING] fun <[ANNOTATIONS_ARGUMENTS_MAPPING] resolveMe> ddd(): R|kotlin/Unit| { @@ -127,7 +127,7 @@ EXPECT_ACTUAL_MATCHING: FILE: typeParameterOfNonLocalFunction.kt public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public final [EXPECT_ACTUAL_MATCHING] fun <[EXPECT_ACTUAL_MATCHING] resolveMe> ddd(): R|kotlin/Unit| { @@ -139,7 +139,7 @@ BODY_RESOLVE: FILE: typeParameterOfNonLocalFunction.kt public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { - super() + LAZY_super } public final [BODY_RESOLVE] fun <[BODY_RESOLVE] resolveMe> ddd(): R|kotlin/Unit| { diff --git a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt index 2cda44a2deb..adf33db92ee 100644 --- a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt +++ b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt @@ -957,7 +957,7 @@ open class RawFirBuilder( } else { delegatedSuperTypeRef!! } - val delegatedConstructorCall = { + buildOrLazyDelegatedConstructorCall(isThis = false, constructedTypeRef) { buildDelegatedConstructorCall { source = constructorCall ?: constructorSource.fakeElement(KtFakeSourceElementKind.DelegatingConstructorCall) this.constructedTypeRef = constructedTypeRef @@ -971,14 +971,6 @@ open class RawFirBuilder( disabledLazyMode { superTypeCallEntry?.extractArgumentsTo(this) } } } - if (this == null && owner !is KtEnumEntry) { - // primary constructor without body - delegatedConstructorCall() - } else buildOrLazyDelegatedConstructorCall( - isThis = false, - constructedTypeRef, - delegatedConstructorCall, - ) } // See DescriptorUtils#getDefaultConstructorVisibility in core.descriptors diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/F.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/F.lazyBodies.txt index c6b3ab5716e..26fa0a122d8 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/F.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/F.lazyBodies.txt @@ -1,13 +1,13 @@ FILE: F.kt public? open class A : R|kotlin/Any| { public? constructor(): R|A| { - super() + LAZY_super } } public? final? class B : A { public? constructor(): R|B| { - super<>() + LAZY_super<> } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/NestedOfAliasedType.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/NestedOfAliasedType.lazyBodies.txt index e5f4290faa3..e5dbffd9556 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/NestedOfAliasedType.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/NestedOfAliasedType.lazyBodies.txt @@ -1,12 +1,12 @@ FILE: NestedOfAliasedType.kt public? abstract class A : R|kotlin/Any| { public? constructor(): R|A| { - super() + LAZY_super } public? abstract class Nested : R|kotlin/Any| { public? constructor(): R|A.Nested| { - super() + LAZY_super } } @@ -15,12 +15,12 @@ FILE: NestedOfAliasedType.kt public? final typealias TA = A public? final? class B : TA { public? constructor(): R|B| { - super() + LAZY_super } public? final? class NestedInB : Nested { public? constructor(): R|B.NestedInB| { - super() + LAZY_super } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/NestedSuperType.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/NestedSuperType.lazyBodies.txt index c317afc75d0..bc4e7e30f64 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/NestedSuperType.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/NestedSuperType.lazyBodies.txt @@ -1,17 +1,17 @@ FILE: NestedSuperType.kt public? abstract class My : R|kotlin/Any| { public? constructor(): R|p/My| { - super() + LAZY_super } public? abstract class NestedOne : My { public? constructor(): R|p/My.NestedOne| { - super() + LAZY_super } public? abstract class NestedTwo : NestedOne { public? constructor(): R|p/My.NestedOne.NestedTwo| { - super() + LAZY_super } } @@ -21,12 +21,12 @@ FILE: NestedSuperType.kt } public? final? class Your : My { public? constructor(): R|p/Your| { - super() + LAZY_super } public? final? class NestedThree : NestedOne { public? constructor(): R|p/Your.NestedThree| { - super() + LAZY_super } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotation.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotation.lazyBodies.txt index d2c817f92eb..369e332293c 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotation.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotation.lazyBodies.txt @@ -1,7 +1,7 @@ FILE: annotation.kt @Target(LAZY_EXPRESSION, LAZY_EXPRESSION, LAZY_EXPRESSION, LAZY_EXPRESSION, LAZY_EXPRESSION, LAZY_EXPRESSION, LAZY_EXPRESSION) public? final? annotation class base : R|kotlin/Annotation| { public? constructor(): R|base| { - super() + LAZY_super } } @@ -20,7 +20,7 @@ FILE: annotation.kt } @base() public? final? enum class My : R|kotlin/Enum| { private constructor(): R|My| { - super|>() + LAZY_super|> } @base() public final static enum entry FIRST: R|My| = LAZY_EXPRESSION @@ -64,7 +64,7 @@ FILE: annotation.kt } @derived(LAZY_EXPRESSION) public? final? enum class MyDerived : R|kotlin/Enum| { private constructor(): R|MyDerived| { - super|>() + LAZY_super|> } @derived(LAZY_EXPRESSION) public final static enum entry FIRST: R|MyDerived| = LAZY_EXPRESSION diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationsOnNullableParenthesizedTypes.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationsOnNullableParenthesizedTypes.lazyBodies.txt index 3ceaba69952..3ce065771bf 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationsOnNullableParenthesizedTypes.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationsOnNullableParenthesizedTypes.lazyBodies.txt @@ -27,7 +27,7 @@ FILE: annotationsOnNullableParenthesizedTypes.kt } @Target(LAZY_EXPRESSION, LAZY_EXPRESSION) public? final? annotation class A : R|kotlin/Annotation| { public? constructor(): R|A| { - super() + LAZY_super } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationsOnParenthesizedTypes.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationsOnParenthesizedTypes.lazyBodies.txt index 95f84ee72a2..78d94126b03 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationsOnParenthesizedTypes.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationsOnParenthesizedTypes.lazyBodies.txt @@ -30,7 +30,7 @@ FILE: annotationsOnParenthesizedTypes.kt } @Target(LAZY_EXPRESSION, LAZY_EXPRESSION) public? final? annotation class A : R|kotlin/Annotation| { public? constructor(): R|A| { - super() + LAZY_super } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/complexTypes.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/complexTypes.lazyBodies.txt index 352a2639829..0a5ddecd82d 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/complexTypes.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/complexTypes.lazyBodies.txt @@ -1,12 +1,12 @@ FILE: complexTypes.kt public? final? class C : R|kotlin/Any| { public? constructor(): R|a/b/C| { - super() + LAZY_super } public? final? inner class D : R|kotlin/Any| { public? a/b/C.constructor(): R|a/b/C.D| { - super() + LAZY_super } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorInObject.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorInObject.lazyBodies.txt index f7316df65eb..9d53c7cfbdb 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorInObject.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorInObject.lazyBodies.txt @@ -9,7 +9,7 @@ FILE: constructorInObject.kt } public? final? enum class B : R|kotlin/Enum| { private constructor(): R|B| { - super|>() + LAZY_super|> } public final static enum entry X: R|B| = LAZY_EXPRESSION @@ -25,7 +25,7 @@ FILE: constructorInObject.kt } public? final? class C : R|kotlin/Any| { public? constructor(): R|C| { - super() + LAZY_super } public? final? companion object Companion : R|kotlin/Any| { diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contextReceivers.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contextReceivers.lazyBodies.txt index 3b789ebfcb3..522ce35ecf7 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contextReceivers.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contextReceivers.lazyBodies.txt @@ -7,7 +7,7 @@ FILE: contextReceivers.kt context(A, b@B) public? final? class C : R|kotlin/Any| { public? constructor(): R|C| { - super() + LAZY_super } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contracts/newSyntax/propertyAccessorsContractDescription.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contracts/newSyntax/propertyAccessorsContractDescription.lazyBodies.txt index 377f6ddf8f9..6a94cbba228 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contracts/newSyntax/propertyAccessorsContractDescription.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contracts/newSyntax/propertyAccessorsContractDescription.lazyBodies.txt @@ -1,7 +1,7 @@ FILE: propertyAccessorsContractDescription.kt public? final? class MyClass : R|kotlin/Any| { public? constructor(): R|MyClass| { - super() + LAZY_super } public? final? var myInt: Int = LAZY_EXPRESSION diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/danglingAnnotationsClassLevel.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/danglingAnnotationsClassLevel.lazyBodies.txt index 0c35ed5dc75..234a1e343bf 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/danglingAnnotationsClassLevel.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/danglingAnnotationsClassLevel.lazyBodies.txt @@ -1,26 +1,26 @@ FILE: danglingAnnotationsClassLevel.kt public? final? class A : R|kotlin/Any| { public? constructor(): R|A| { - super() + LAZY_super } @Suppress(LAZY_EXPRESSION) @MustBeDocumented() } public? final? class B : R|kotlin/Any| { public? constructor(): R|B| { - super() + LAZY_super } @Suppress(LAZY_EXPRESSION) @MustBeDocumented() } public? final? class Outer : R|kotlin/Any| { public? constructor(): R|Outer| { - super() + LAZY_super } public? final? class Inner : R|kotlin/Any| { public? constructor(): R|Outer.Inner| { - super() + LAZY_super } @Suppress(LAZY_EXPRESSION) @MustBeDocumented() diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enums.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enums.lazyBodies.txt index aae1a985ef2..c65b477e17a 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enums.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enums.lazyBodies.txt @@ -1,7 +1,7 @@ FILE: enums.kt public? final? enum class Order : R|kotlin/Enum| { private constructor(): R|Order| { - super|>() + LAZY_super|> } public final static enum entry FIRST: R|Order| @@ -38,7 +38,7 @@ FILE: enums.kt public? final? companion object Companion : R|kotlin/Any| { private constructor(): R|Planet.Companion| { - super() + LAZY_super } public? final? const val G: = LAZY_EXPRESSION diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enums2.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enums2.lazyBodies.txt index 344f6672fec..b084413d449 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enums2.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enums2.lazyBodies.txt @@ -3,13 +3,13 @@ FILE: enums2.kt } public? final? object O1 : Some { private constructor(): R|O1| { - super<>() + LAZY_super<> } } public? final? object O2 : Some { private constructor(): R|O2| { - super<>() + LAZY_super<> } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enums3.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enums3.lazyBodies.txt index 6f5133c03a3..433c935d511 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enums3.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enums3.lazyBodies.txt @@ -1,7 +1,7 @@ FILE: enums3.kt public? final? class C : R|kotlin/Any| { public? constructor(): R|C| { - super() + LAZY_super } init { LAZY_BLOCK } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/expectActual.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/expectActual.lazyBodies.txt index 7648ee7c53a..bd4b533f59b 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/expectActual.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/expectActual.lazyBodies.txt @@ -6,7 +6,7 @@ FILE: expectActual.kt public? get(): Int public? final? actual class MyClass : R|kotlin/Any| { public? constructor(): R|MyClass| { - super() + LAZY_super } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/external.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/external.lazyBodies.txt index 3123e1a79f2..8b1528be466 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/external.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/external.lazyBodies.txt @@ -1,7 +1,7 @@ FILE: external.kt public? final? external class External : R|kotlin/Any| { public? constructor(): R|External| { - super() + LAZY_super } } @@ -10,7 +10,7 @@ FILE: external.kt public? external get(): Int public? final? class NotExternal : R|kotlin/Any| { public? constructor(): R|NotExternal| { - super() + LAZY_super } public? final? external fun bar(): String diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/genericFunctions.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/genericFunctions.lazyBodies.txt index a2fa23638dd..5d2a6da506f 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/genericFunctions.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/genericFunctions.lazyBodies.txt @@ -4,7 +4,7 @@ FILE: genericFunctions.kt public? final? inline fun Any.safeAs(): T? { LAZY_BLOCK } public? abstract class Summator : R|kotlin/Any| { public? constructor(): R|Summator| { - super() + LAZY_super } public? abstract fun plus(first: T, second: T): T diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/initBlockWithDeclarations.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/initBlockWithDeclarations.lazyBodies.txt index d7a48452376..5c53cb36574 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/initBlockWithDeclarations.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/initBlockWithDeclarations.lazyBodies.txt @@ -1,7 +1,7 @@ FILE: initBlockWithDeclarations.kt public? final? class X : R|kotlin/Any| { public? constructor(): R|X| { - super() + LAZY_super } init { LAZY_BLOCK } @@ -9,7 +9,7 @@ FILE: initBlockWithDeclarations.kt } public? final? object : R|kotlin/Any| { private constructor(): R|| { - super() + LAZY_super } init { LAZY_BLOCK } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/nestedClass.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/nestedClass.lazyBodies.txt index 82efe43a8bf..f67814c619c 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/nestedClass.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/nestedClass.lazyBodies.txt @@ -10,7 +10,7 @@ FILE: nestedClass.kt } public? final? class Outer : R|kotlin/Any| { public? constructor(): R|Outer| { - super() + LAZY_super } public? final? class Derived : Base { @@ -22,7 +22,7 @@ FILE: nestedClass.kt public? final? object Obj : Base { private constructor(): R|Outer.Obj| { - super(String()) + LAZY_super } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/simpleClass.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/simpleClass.lazyBodies.txt index 3287f2e9bbe..38508d4098d 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/simpleClass.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/simpleClass.lazyBodies.txt @@ -8,7 +8,7 @@ FILE: simpleClass.kt } public? final? class SomeClass : SomeInterface { public? constructor(): R|SomeClass| { - super<>() + LAZY_super<> } private final? val baz: = LAZY_EXPRESSION @@ -27,7 +27,7 @@ FILE: simpleClass.kt } public? final? inline class InlineClass : R|kotlin/Any| { public? constructor(): R|InlineClass| { - super() + LAZY_super } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/simpleTypeAlias.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/simpleTypeAlias.lazyBodies.txt index 70eb461eaa2..efc9f50c3a5 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/simpleTypeAlias.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/simpleTypeAlias.lazyBodies.txt @@ -4,7 +4,7 @@ FILE: simpleTypeAlias.kt public? final typealias C = B public? final? class D : C { public? constructor(): R|D| { - super<>() + LAZY_super<> } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/splitModifierList.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/splitModifierList.lazyBodies.txt index f26317035c9..d17dc872757 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/splitModifierList.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/splitModifierList.lazyBodies.txt @@ -1,13 +1,13 @@ FILE: splitModifierList.kt @Target(LAZY_EXPRESSION, LAZY_EXPRESSION) public? final? annotation class A : R|kotlin/Annotation| { public? constructor(): R|A| { - super() + LAZY_super } } @Target(LAZY_EXPRESSION, LAZY_EXPRESSION) public? final? annotation class B : R|kotlin/Annotation| { public? constructor(): R|B| { - super() + LAZY_super } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeAliasWithGeneric.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeAliasWithGeneric.lazyBodies.txt index b6be39cce45..c9ac5662a87 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeAliasWithGeneric.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeAliasWithGeneric.lazyBodies.txt @@ -1,7 +1,7 @@ FILE: typeAliasWithGeneric.kt public? open class A : R|kotlin/Any| { public? constructor(): R|A| { - super() + LAZY_super } } @@ -10,7 +10,7 @@ FILE: typeAliasWithGeneric.kt public? final typealias C = B public? final? class D : C { public? constructor(): R|D| { - super<>() + LAZY_super<> } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeParameterVsNested.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeParameterVsNested.lazyBodies.txt index b7517eb9e14..74860226d5c 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeParameterVsNested.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeParameterVsNested.lazyBodies.txt @@ -3,12 +3,12 @@ FILE: typeParameterVsNested.kt } public? abstract class My : R|kotlin/Any| { public? constructor(): R|test/My| { - super() + LAZY_super } public? final? inner class T : R|kotlin/Any| { public? test/My.constructor(): R|test/My.T| { - super() + LAZY_super } } @@ -26,7 +26,7 @@ FILE: typeParameterVsNested.kt public? final? class Some : T { public? constructor(): R|test/My.Some| { - super() + LAZY_super } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeParameters.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeParameters.lazyBodies.txt index f2520204f2a..f0b774ba5d3 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeParameters.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeParameters.lazyBodies.txt @@ -9,13 +9,13 @@ FILE: typeParameters.kt public? final typealias AnyList = List<*> public? abstract class AbstractList : List { public? constructor(): R|AbstractList| { - super<>() + LAZY_super<> } } public? final? class SomeList : AbstractList { public? constructor(): R|SomeList| { - super>() + LAZY_super> } public? open? override fun get(index: Int): Int { LAZY_BLOCK } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/where.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/where.lazyBodies.txt index 0ac732679f3..9152631ff8c 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/where.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/where.lazyBodies.txt @@ -5,7 +5,7 @@ FILE: where.kt } public? final? class C : R|kotlin/Any| { public? constructor(): R|C| { - super() + LAZY_super } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/annotated.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/annotated.lazyBodies.txt index 76095407a38..f2fae7953ff 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/annotated.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/annotated.lazyBodies.txt @@ -1,7 +1,7 @@ FILE: annotated.kt @Target(LAZY_EXPRESSION, LAZY_EXPRESSION) @Retention(LAZY_EXPRESSION) public? final? annotation class Ann : R|kotlin/Annotation| { public? constructor(): R|Ann| { - super() + LAZY_super } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/callableReferences.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/callableReferences.lazyBodies.txt index 18ec82e243f..57b97a0c464 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/callableReferences.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/callableReferences.lazyBodies.txt @@ -1,7 +1,7 @@ FILE: callableReferences.kt public? final? class A : R|kotlin/Any| { public? constructor(): R|A| { - super() + LAZY_super } public? final? fun foo(): R|kotlin/Unit| { LAZY_BLOCK } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/classReference.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/classReference.lazyBodies.txt index 29f909a6e91..3b416a6749a 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/classReference.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/classReference.lazyBodies.txt @@ -1,7 +1,7 @@ FILE: classReference.kt public? final? class A : R|kotlin/Any| { public? constructor(): R|test/A| { - super() + LAZY_super } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/collectionLiterals.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/collectionLiterals.lazyBodies.txt index eb03c90ced1..271cefe2d04 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/collectionLiterals.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/collectionLiterals.lazyBodies.txt @@ -28,25 +28,25 @@ FILE: collectionLiterals.kt } @Ann1(LAZY_EXPRESSION) @Ann2(LAZY_EXPRESSION) @Ann3(LAZY_EXPRESSION) public? final? class Zero : R|kotlin/Any| { public? constructor(): R|Zero| { - super() + LAZY_super } } @Ann1(LAZY_EXPRESSION) public? final? class First : R|kotlin/Any| { public? constructor(): R|First| { - super() + LAZY_super } } @Ann2(LAZY_EXPRESSION) public? final? class Second : R|kotlin/Any| { public? constructor(): R|Second| { - super() + LAZY_super } } @Ann3(LAZY_EXPRESSION) public? final? class Third : R|kotlin/Any| { public? constructor(): R|Third| { - super() + LAZY_super } } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/super.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/super.lazyBodies.txt index 8db0416dff9..0431a5d259a 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/super.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/super.lazyBodies.txt @@ -11,7 +11,7 @@ FILE: super.kt } public? final? class C : A, B { public? constructor(): R|C| { - super<>() + LAZY_super<> } public? open? override fun bar(): R|kotlin/Unit| { LAZY_BLOCK } diff --git a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/these.lazyBodies.txt b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/these.lazyBodies.txt index 21e3268195c..e4e3ef1af32 100644 --- a/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/these.lazyBodies.txt +++ b/compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/these.lazyBodies.txt @@ -1,7 +1,7 @@ FILE: these.kt public? final? class Some : R|kotlin/Any| { public? constructor(): R|Some| { - super() + LAZY_super } public? final? fun foo(): Int { LAZY_BLOCK }