From faaae3e82edf6c42396dbffbe932be94ee15aa1d Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Tue, 10 Dec 2024 09:02:35 +0100 Subject: [PATCH] FIR: split isInline & isValue properties in status #KT-73785 Fixed --- .../api/fir/symbols/KaFirNamedClassSymbol.kt | 2 +- .../StubBasedClassDeserialization.kt | 10 ++-- .../multiFieldValueClass.txt | 2 +- .../multiFieldValueClassWithTypeAlias.txt | 2 +- .../getOrBuildFirBinary/nestedValueClass.txt | 2 +- .../valueClassWithAnotherValueClass.txt | 2 +- .../valueClassWithMultiFieldValueClass.txt | 2 +- .../valueClassWithNestedClass.txt | 2 +- ...eClassWithNullableMultiFieldValueClass.txt | 2 +- .../valueClassWithParameterizedAlias.txt | 2 +- ...eClassWithTypeAliasOnAnotherValueClass.txt | 2 +- .../classes/functionInValueClass.txt | 28 +++++----- .../classes/functionInValueClassScript.txt | 28 +++++----- .../classes/multiFieldValueClass.txt | 28 +++++----- .../multiFieldValueClassWithTypeAlias.txt | 28 +++++----- .../classes/recursiveValueClass.txt | 28 +++++----- .../classes/recursiveValueClass2.txt | 56 +++++++++---------- .../valueClassWithAnotherValueClass.txt | 56 +++++++++---------- .../valueClassWithMultiFieldValueClass.txt | 56 +++++++++---------- .../classes/valueClassWithNestedClass.txt | 28 +++++----- ...eClassWithNullableMultiFieldValueClass.txt | 56 +++++++++---------- .../valueClassWithParameterizedAlias.txt | 28 +++++----- ...eClassWithTypeAliasOnAnotherValueClass.txt | 56 +++++++++---------- .../inlineClassConstructor.fir.txt | 2 +- .../inlineClassDeclaration.fir.txt | 4 +- .../inlineClasses/inlineClassMembers.fir.txt | 4 +- .../reservedMethodsInInterfaces.fir.txt | 12 ++-- .../resolve/suppress/withSuppression2.fir.txt | 2 +- .../FirJsExportDeclarationChecker.kt | 2 +- .../FirJvmFieldApplicabilityChecker.kt | 3 +- .../FirJvmInlineApplicabilityChecker.kt | 8 +-- .../checkers/declaration/FirJvmNameChecker.kt | 4 +- .../FirSynchronizedAnnotationChecker.kt | 3 +- .../FirWebCommonExternalChecker.kt | 2 +- .../checkers/ConeTypeCompatibilityChecker.kt | 3 +- .../fir/analysis/checkers/FirHelpers.kt | 2 +- .../checkers/FirTypeCompatibilityHelpers.kt | 7 +-- .../FirExpectActualDeclarationChecker.kt | 2 +- .../FirExpectConsistencyChecker.kt | 7 +-- .../FirInlineClassDeclarationChecker.kt | 10 +--- .../jetbrains/kotlin/fir/dump/HtmlFirDump.kt | 3 + .../deserialization/ClassDeserialization.kt | 4 +- .../fir/serialization/FirElementSerializer.kt | 4 +- .../generators/Fir2IrClassifiersGenerator.kt | 2 +- .../backend/utils/IrElementsCreationUtils.kt | 5 +- .../kotlin/fir/lazy/Fir2IrLazyClass.kt | 3 +- .../declarations/OperatorFunctionChecks.kt | 3 +- .../fir/declarations/ValueClassesUtils.kt | 8 +-- .../fir/declarations/declarationUtils.kt | 3 +- .../fir/scopes/FirKotlinScopeProvider.kt | 2 +- .../impl/FirClassAnySynthesizedMemberScope.kt | 4 +- .../kotlin/fir/types/ConeTypeContext.kt | 2 +- .../LightTreeRawFirDeclarationBuilder.kt | 3 +- .../fir/lightTree/fir/modifier/Modifier.kt | 7 ++- .../lightTree/fir/modifier/ModifierFlag.kt | 3 +- .../kotlin/fir/builder/PsiRawFirBuilder.kt | 5 +- .../fir/builder/AbstractRawFirBuilder.kt | 4 ++ .../FirStatusTransformerExtension.kt | 1 + .../FirStatusResolveTransformer.kt | 4 +- .../mpp/FirExpectActualMatchingContextImpl.kt | 2 +- .../fir/declarations/FirDeclarationStatus.kt | 1 + .../FirResolvedDeclarationStatus.kt | 1 + .../src/org/jetbrains/kotlin/fir/Utils.kt | 4 ++ .../impl/FirDeclarationStatusImpl.kt | 7 +++ .../fir/declarations/utils/FirStatusUtils.kt | 2 + .../utils/FirSymbolStatusUtils.kt | 1 + .../fir/renderer/FirAllModifierRenderer.kt | 3 + .../kotlin/fir/tree/generator/FirTree.kt | 2 +- ...orWithInlineClassParameters.fir.k1.jvm.txt | 2 +- ...orWithInlineClassParameters.fir.k2.jvm.txt | 2 +- ...rWithInlineClassParameters.fir.k2.klib.txt | 2 +- ...ionOnInlineClassCosntructor.fir.k1.jvm.txt | 2 +- ...ionOnInlineClassCosntructor.fir.k2.jvm.txt | 2 +- ...onOnInlineClassCosntructor.fir.k2.klib.txt | 2 +- .../FirSerializationPluginClassChecker.kt | 2 +- .../testData/firMembers/inlineClasses.fir.txt | 2 +- 76 files changed, 360 insertions(+), 332 deletions(-) diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KaFirNamedClassSymbol.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KaFirNamedClassSymbol.kt index bed7a3e81ef33..cad833df05af1 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KaFirNamedClassSymbol.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KaFirNamedClassSymbol.kt @@ -114,7 +114,7 @@ internal class KaFirNamedClassSymbol private constructor( if (backingPsi != null) { backingPsi.hasModifier(KtTokens.VALUE_KEYWORD) || backingPsi.hasModifier(KtTokens.INLINE_KEYWORD) } else { - firSymbol.isInline + firSymbol.isInline || firSymbol.isValue } } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/stubBased/deserialization/StubBasedClassDeserialization.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/stubBased/deserialization/StubBasedClassDeserialization.kt index eaf95dc6a8f57..05c7096e4bd78 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/stubBased/deserialization/StubBasedClassDeserialization.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/stubBased/deserialization/StubBasedClassDeserialization.kt @@ -21,10 +21,7 @@ import org.jetbrains.kotlin.fir.declarations.builder.buildRegularClass import org.jetbrains.kotlin.fir.declarations.builder.buildSimpleFunction import org.jetbrains.kotlin.fir.declarations.comparators.FirMemberDeclarationComparator import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl -import org.jetbrains.kotlin.fir.declarations.utils.addDeclaration -import org.jetbrains.kotlin.fir.declarations.utils.isCompanion -import org.jetbrains.kotlin.fir.declarations.utils.isInline -import org.jetbrains.kotlin.fir.declarations.utils.sourceElement +import org.jetbrains.kotlin.fir.declarations.utils.* import org.jetbrains.kotlin.fir.deserialization.addCloneForArrayIfNeeded import org.jetbrains.kotlin.fir.deserialization.deserializationExtension import org.jetbrains.kotlin.fir.resolve.transformers.setLazyPublishedVisibility @@ -134,7 +131,8 @@ internal fun deserializeClassToSymbol( isInner = classOrObject.hasModifier(KtTokens.INNER_KEYWORD) isCompanion = (classOrObject as? KtObjectDeclaration)?.isCompanion() == true isData = classOrObject.hasModifier(KtTokens.DATA_KEYWORD) - isInline = classOrObject.hasModifier(KtTokens.INLINE_KEYWORD) || classOrObject.hasModifier(KtTokens.VALUE_KEYWORD) + isInline = classOrObject.hasModifier(KtTokens.INLINE_KEYWORD) + isValue = classOrObject.hasModifier(KtTokens.VALUE_KEYWORD) isFun = classOrObject.hasModifier(KtTokens.FUN_KEYWORD) isExternal = classOrObject.hasModifier(KtTokens.EXTERNAL_KEYWORD) } @@ -248,7 +246,7 @@ internal fun deserializeClassToSymbol( contextParameters.addAll(memberDeserializer.createContextReceiversForClass(classOrObject, symbol)) }.apply { - if (classOrObject is KtClass && isInline) { + if (classOrObject is KtClass && isInlineOrValue) { val stub = classOrObject.stub as? KotlinClassStubImpl ?: loadStubByElement(classOrObject) valueClassRepresentation = stub?.deserializeValueClassRepresentation(this) } diff --git a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/multiFieldValueClass.txt b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/multiFieldValueClass.txt index 51a3fd779fca2..c24e7aa216ef6 100644 --- a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/multiFieldValueClass.txt +++ b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/multiFieldValueClass.txt @@ -15,7 +15,7 @@ FIR element: FirRegularClassImpl FIR source kind: KtRealSourceElementKind FIR element rendered: -@R|kotlin/jvm/JvmInline|() public final inline [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=MultiFieldValueClassRepresentation(underlyingPropertyNamesToTypes=[(a, T), (b, T)]), IsNewPlaceForBodyGeneration=false] class Foo<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| { +@R|kotlin/jvm/JvmInline|() public final value [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=MultiFieldValueClassRepresentation(underlyingPropertyNamesToTypes=[(a, T), (b, T)]), IsNewPlaceForBodyGeneration=false] class Foo<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| { public open operator [ResolvedTo(BODY_RESOLVE)] fun equals([ResolvedTo(BODY_RESOLVE)] other: R|kotlin/Any?|): R|kotlin/Boolean| public open [ResolvedTo(BODY_RESOLVE)] fun hashCode(): R|kotlin/Int| diff --git a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/multiFieldValueClassWithTypeAlias.txt b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/multiFieldValueClassWithTypeAlias.txt index c00f9253fcf33..0803723995860 100644 --- a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/multiFieldValueClassWithTypeAlias.txt +++ b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/multiFieldValueClassWithTypeAlias.txt @@ -15,7 +15,7 @@ FIR element: FirRegularClassImpl FIR source kind: KtRealSourceElementKind FIR element rendered: -@R|kotlin/jvm/JvmInline|() public final inline [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=MultiFieldValueClassRepresentation(underlyingPropertyNamesToTypes=[(alias, {pack/MyAlias=} kotlin/collections/List), (b, kotlin/String)]), IsNewPlaceForBodyGeneration=false] class Foo<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| { +@R|kotlin/jvm/JvmInline|() public final value [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=MultiFieldValueClassRepresentation(underlyingPropertyNamesToTypes=[(alias, {pack/MyAlias=} kotlin/collections/List), (b, kotlin/String)]), IsNewPlaceForBodyGeneration=false] class Foo<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| { public open operator [ResolvedTo(BODY_RESOLVE)] fun equals([ResolvedTo(BODY_RESOLVE)] other: R|kotlin/Any?|): R|kotlin/Boolean| public open [ResolvedTo(BODY_RESOLVE)] fun hashCode(): R|kotlin/Int| diff --git a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/nestedValueClass.txt b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/nestedValueClass.txt index 17f8b90d235e9..9878aa4f069cb 100644 --- a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/nestedValueClass.txt +++ b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/nestedValueClass.txt @@ -16,7 +16,7 @@ FIR source kind: KtRealSourceElementKind FIR element rendered: public final [ResolvedTo(BODY_RESOLVE)] [IsNewPlaceForBodyGeneration=false] class LibraryClass : R|kotlin/Any| { - @R|kotlin/jvm/JvmInline|() public final inline [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=pack/LibraryClass), IsNewPlaceForBodyGeneration=false] class LibraryNestedValueClass : R|kotlin/Any| { + @R|kotlin/jvm/JvmInline|() public final value [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=pack/LibraryClass), IsNewPlaceForBodyGeneration=false] class LibraryNestedValueClass : R|kotlin/Any| { public open operator [ResolvedTo(BODY_RESOLVE)] fun equals([ResolvedTo(BODY_RESOLVE)] other: R|kotlin/Any?|): R|kotlin/Boolean| public open [ResolvedTo(BODY_RESOLVE)] fun hashCode(): R|kotlin/Int| diff --git a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithAnotherValueClass.txt b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithAnotherValueClass.txt index 9bd092b8ef2ea..bd4ff7a2be092 100644 --- a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithAnotherValueClass.txt +++ b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithAnotherValueClass.txt @@ -13,7 +13,7 @@ FIR element: FirRegularClassImpl FIR source kind: KtRealSourceElementKind FIR element rendered: -@R|kotlin/jvm/JvmInline|() public final inline [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=pack/AnotherValueClass), IsNewPlaceForBodyGeneration=false] class ValueClass : R|kotlin/Any| { +@R|kotlin/jvm/JvmInline|() public final value [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=pack/AnotherValueClass), IsNewPlaceForBodyGeneration=false] class ValueClass : R|kotlin/Any| { public open operator [ResolvedTo(BODY_RESOLVE)] fun equals([ResolvedTo(BODY_RESOLVE)] other: R|kotlin/Any?|): R|kotlin/Boolean| public open [ResolvedTo(BODY_RESOLVE)] fun hashCode(): R|kotlin/Int| diff --git a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithMultiFieldValueClass.txt b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithMultiFieldValueClass.txt index 15fe9d13c43b5..3291f501224f9 100644 --- a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithMultiFieldValueClass.txt +++ b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithMultiFieldValueClass.txt @@ -13,7 +13,7 @@ FIR element: FirRegularClassImpl FIR source kind: KtRealSourceElementKind FIR element rendered: -@R|kotlin/jvm/JvmInline|() public final inline [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=MultiFieldValueClassRepresentation(underlyingPropertyNamesToTypes=[(foo, pack/Foo)]), IsNewPlaceForBodyGeneration=false] class MyValueClass : R|kotlin/Any| { +@R|kotlin/jvm/JvmInline|() public final value [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=MultiFieldValueClassRepresentation(underlyingPropertyNamesToTypes=[(foo, pack/Foo)]), IsNewPlaceForBodyGeneration=false] class MyValueClass : R|kotlin/Any| { public open operator [ResolvedTo(BODY_RESOLVE)] fun equals([ResolvedTo(BODY_RESOLVE)] other: R|kotlin/Any?|): R|kotlin/Boolean| public open [ResolvedTo(BODY_RESOLVE)] fun hashCode(): R|kotlin/Int| diff --git a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithNestedClass.txt b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithNestedClass.txt index 02819ddb89bab..f2197acdad7d6 100644 --- a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithNestedClass.txt +++ b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithNestedClass.txt @@ -16,7 +16,7 @@ FIR element: FirRegularClassImpl FIR source kind: KtRealSourceElementKind FIR element rendered: -@R|kotlin/jvm/JvmInline|() public final inline [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=pack/LibraryValueClass.NestedClass), IsNewPlaceForBodyGeneration=false] class LibraryValueClass : R|kotlin/Any| { +@R|kotlin/jvm/JvmInline|() public final value [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=pack/LibraryValueClass.NestedClass), IsNewPlaceForBodyGeneration=false] class LibraryValueClass : R|kotlin/Any| { public final [ResolvedTo(BODY_RESOLVE)] [IsNewPlaceForBodyGeneration=false] class NestedClass : R|kotlin/Any| { public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=NestedClass] constructor(): R|pack/LibraryValueClass.NestedClass| diff --git a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithNullableMultiFieldValueClass.txt b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithNullableMultiFieldValueClass.txt index b30ae705b7130..a49218d2bfa5a 100644 --- a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithNullableMultiFieldValueClass.txt +++ b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithNullableMultiFieldValueClass.txt @@ -13,7 +13,7 @@ FIR element: FirRegularClassImpl FIR source kind: KtRealSourceElementKind FIR element rendered: -@R|kotlin/jvm/JvmInline|() public final inline [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=foo, underlyingType=pack/Foo?), IsNewPlaceForBodyGeneration=false] class MyValueClass : R|kotlin/Any| { +@R|kotlin/jvm/JvmInline|() public final value [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=foo, underlyingType=pack/Foo?), IsNewPlaceForBodyGeneration=false] class MyValueClass : R|kotlin/Any| { public open operator [ResolvedTo(BODY_RESOLVE)] fun equals([ResolvedTo(BODY_RESOLVE)] other: R|kotlin/Any?|): R|kotlin/Boolean| public open [ResolvedTo(BODY_RESOLVE)] fun hashCode(): R|kotlin/Int| diff --git a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithParameterizedAlias.txt b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithParameterizedAlias.txt index 6081865df89f7..1ec4682010758 100644 --- a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithParameterizedAlias.txt +++ b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithParameterizedAlias.txt @@ -13,7 +13,7 @@ FIR element: FirRegularClassImpl FIR source kind: KtRealSourceElementKind FIR element rendered: -@R|kotlin/jvm/JvmInline|() public final inline [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType={pack/MyTypeAlias=} kotlin/collections/List), IsNewPlaceForBodyGeneration=false] class ValueClass<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| { +@R|kotlin/jvm/JvmInline|() public final value [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType={pack/MyTypeAlias=} kotlin/collections/List), IsNewPlaceForBodyGeneration=false] class ValueClass<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| { public open operator [ResolvedTo(BODY_RESOLVE)] fun equals([ResolvedTo(BODY_RESOLVE)] other: R|kotlin/Any?|): R|kotlin/Boolean| public open [ResolvedTo(BODY_RESOLVE)] fun hashCode(): R|kotlin/Int| diff --git a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithTypeAliasOnAnotherValueClass.txt b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithTypeAliasOnAnotherValueClass.txt index 6ea086f5b2316..07997bfc01388 100644 --- a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithTypeAliasOnAnotherValueClass.txt +++ b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithTypeAliasOnAnotherValueClass.txt @@ -13,7 +13,7 @@ FIR element: FirRegularClassImpl FIR source kind: KtRealSourceElementKind FIR element rendered: -@R|kotlin/jvm/JvmInline|() public final inline [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType={pack/MyTypeAlias=} pack/AnotherValueClass), IsNewPlaceForBodyGeneration=false] class ValueClass : R|kotlin/Any| { +@R|kotlin/jvm/JvmInline|() public final value [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType={pack/MyTypeAlias=} pack/AnotherValueClass), IsNewPlaceForBodyGeneration=false] class ValueClass : R|kotlin/Any| { public open operator [ResolvedTo(BODY_RESOLVE)] fun equals([ResolvedTo(BODY_RESOLVE)] other: R|kotlin/Any?|): R|kotlin/Boolean| public open [ResolvedTo(BODY_RESOLVE)] fun hashCode(): R|kotlin/Int| diff --git a/analysis/low-level-api-fir/testData/lazyResolve/classes/functionInValueClass.txt b/analysis/low-level-api-fir/testData/lazyResolve/classes/functionInValueClass.txt index 7616a99ab7696..526273ea57566 100644 --- a/analysis/low-level-api-fir/testData/lazyResolve/classes/functionInValueClass.txt +++ b/analysis/low-level-api-fir/testData/lazyResolve/classes/functionInValueClass.txt @@ -1,6 +1,6 @@ RAW_FIR: FILE: [ResolvedTo(RAW_FIR)] functionInValueClass.kt - @JvmInline[Unresolved]() public final? inline [ResolvedTo(RAW_FIR)] class Value : R|kotlin/Any| { + @JvmInline[Unresolved]() public final? value [ResolvedTo(RAW_FIR)] class Value : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Value] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Value.value] value: Int): R|Value| { LAZY_super } @@ -14,7 +14,7 @@ FILE: [ResolvedTo(RAW_FIR)] functionInValueClass.kt IMPORTS: FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt - @JvmInline[Unresolved]() public final? inline [ResolvedTo(RAW_FIR)] class Value : R|kotlin/Any| { + @JvmInline[Unresolved]() public final? value [ResolvedTo(RAW_FIR)] class Value : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Value] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Value.value] value: Int): R|Value| { LAZY_super } @@ -28,7 +28,7 @@ FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt COMPILER_REQUIRED_ANNOTATIONS: FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt - @JvmInline[Unresolved]() public final? inline [ResolvedTo(RAW_FIR)] class Value : R|kotlin/Any| { + @JvmInline[Unresolved]() public final? value [ResolvedTo(RAW_FIR)] class Value : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Value] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Value.value] value: Int): R|Value| { LAZY_super } @@ -42,7 +42,7 @@ FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt COMPANION_GENERATION: FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt - @JvmInline[Unresolved]() public final? inline [ResolvedTo(RAW_FIR)] class Value : R|kotlin/Any| { + @JvmInline[Unresolved]() public final? value [ResolvedTo(RAW_FIR)] class Value : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Value] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Value.value] value: Int): R|Value| { LAZY_super } @@ -56,7 +56,7 @@ FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt SUPER_TYPES: FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt - @JvmInline[Unresolved]() public final? inline [ResolvedTo(SUPER_TYPES)] class Value : R|kotlin/Any| { + @JvmInline[Unresolved]() public final? value [ResolvedTo(SUPER_TYPES)] class Value : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Value] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Value.value] value: Int): R|Value| { LAZY_super } @@ -70,7 +70,7 @@ FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt TYPES: FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt - @R|kotlin/jvm/JvmInline|[Types]() public final? inline [ResolvedTo(TYPES)] class Value : R|kotlin/Any| { + @R|kotlin/jvm/JvmInline|[Types]() public final? value [ResolvedTo(TYPES)] class Value : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Value] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Value.value] value: Int): R|Value| { LAZY_super } @@ -84,7 +84,7 @@ FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt STATUS: FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt - @R|kotlin/jvm/JvmInline|[Types]() public final inline [ResolvedTo(STATUS)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { + @R|kotlin/jvm/JvmInline|[Types]() public final value [ResolvedTo(STATUS)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=Value] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Value.value] value: R|kotlin/Int|): R|Value| { LAZY_super } @@ -98,7 +98,7 @@ FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt EXPECT_ACTUAL_MATCHING: FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt - @R|kotlin/jvm/JvmInline|[Types]() public final inline [ResolvedTo(STATUS)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { + @R|kotlin/jvm/JvmInline|[Types]() public final value [ResolvedTo(STATUS)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=Value] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Value.value] value: R|kotlin/Int|): R|Value| { LAZY_super } @@ -112,7 +112,7 @@ FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt CONTRACTS: FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt - @R|kotlin/jvm/JvmInline|[Types]() public final inline [ResolvedTo(STATUS)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { + @R|kotlin/jvm/JvmInline|[Types]() public final value [ResolvedTo(STATUS)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=Value] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Value.value] value: R|kotlin/Int|): R|Value| { LAZY_super } @@ -126,7 +126,7 @@ FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt IMPLICIT_TYPES_BODY_RESOLVE: FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt - @R|kotlin/jvm/JvmInline|[Types]() public final inline [ResolvedTo(STATUS)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { + @R|kotlin/jvm/JvmInline|[Types]() public final value [ResolvedTo(STATUS)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=Value] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Value.value] value: R|kotlin/Int|): R|Value| { LAZY_super } @@ -140,7 +140,7 @@ FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt CONSTANT_EVALUATION: FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt - @R|kotlin/jvm/JvmInline|[Types]() public final inline [ResolvedTo(STATUS)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { + @R|kotlin/jvm/JvmInline|[Types]() public final value [ResolvedTo(STATUS)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=Value] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Value.value] value: R|kotlin/Int|): R|Value| { LAZY_super } @@ -154,7 +154,7 @@ FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt ANNOTATION_ARGUMENTS: FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt - @R|kotlin/jvm/JvmInline|[Types]() public final inline [ResolvedTo(STATUS)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { + @R|kotlin/jvm/JvmInline|[Types]() public final value [ResolvedTo(STATUS)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=Value] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Value.value] value: R|kotlin/Int|): R|Value| { LAZY_super } @@ -168,7 +168,7 @@ FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt BODY_RESOLVE: FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt - @R|kotlin/jvm/JvmInline|[Types]() public final inline [ResolvedTo(STATUS)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { + @R|kotlin/jvm/JvmInline|[Types]() public final value [ResolvedTo(STATUS)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=Value] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Value.value] value: R|kotlin/Int|): R|Value| { LAZY_super } @@ -183,7 +183,7 @@ FILE: [ResolvedTo(IMPORTS)] functionInValueClass.kt FILE RAW TO BODY: FILE: [ResolvedTo(BODY_RESOLVE)] functionInValueClass.kt - @R|kotlin/jvm/JvmInline|[Types]() public final inline [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { + @R|kotlin/jvm/JvmInline|[Types]() public final value [ResolvedTo(BODY_RESOLVE)] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Value] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=/Value.value] value: R|kotlin/Int|): R|Value| { super() } diff --git a/analysis/low-level-api-fir/testData/lazyResolve/classes/functionInValueClassScript.txt b/analysis/low-level-api-fir/testData/lazyResolve/classes/functionInValueClassScript.txt index 17d16dcb12949..4fdd302c1d5a0 100644 --- a/analysis/low-level-api-fir/testData/lazyResolve/classes/functionInValueClassScript.txt +++ b/analysis/low-level-api-fir/testData/lazyResolve/classes/functionInValueClassScript.txt @@ -4,7 +4,7 @@ FILE: [ResolvedTo(RAW_FIR)] functionInValueClassScript.kts [ResolvedTo(RAW_FIR)]