From 3f6432cdc9491c1c90aa58d84c2534f06ac4184a Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Thu, 27 Apr 2023 09:38:12 +0200 Subject: [PATCH] [FIR] setup origin for generated enum functions --- .../jetbrains/kotlin/fir/EnumClassUtils.kt | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt index f66172f4b8b..022cc83799c 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt @@ -34,12 +34,16 @@ import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.StandardClassIds fun FirRegularClassBuilder.generateValuesFunction( - moduleData: FirModuleData, packageFqName: FqName, classFqName: FqName, makeExpect: Boolean = false + moduleData: FirModuleData, + packageFqName: FqName, + classFqName: FqName, + makeExpect: Boolean = false, + origin: FirDeclarationOrigin = FirDeclarationOrigin.Source ) { val sourceElement = source?.fakeElement(KtFakeSourceElementKind.EnumGeneratedDeclaration) declarations += buildSimpleFunction { source = sourceElement - origin = FirDeclarationOrigin.Source + this.origin = origin this.moduleData = moduleData returnTypeRef = buildResolvedTypeRef { source = sourceElement @@ -67,12 +71,16 @@ fun FirRegularClassBuilder.generateValuesFunction( } fun FirRegularClassBuilder.generateValueOfFunction( - moduleData: FirModuleData, packageFqName: FqName, classFqName: FqName, makeExpect: Boolean = false + moduleData: FirModuleData, + packageFqName: FqName, + classFqName: FqName, + makeExpect: Boolean = false, + origin: FirDeclarationOrigin = FirDeclarationOrigin.Source ) { val sourceElement = source?.fakeElement(KtFakeSourceElementKind.EnumGeneratedDeclaration) declarations += buildSimpleFunction { source = sourceElement - origin = FirDeclarationOrigin.Source + this.origin = origin this.moduleData = moduleData returnTypeRef = buildResolvedTypeRef { source = sourceElement @@ -92,7 +100,7 @@ fun FirRegularClassBuilder.generateValueOfFunction( valueParameters += buildValueParameter vp@{ source = sourceElement containingFunctionSymbol = this@buildSimpleFunction.symbol - origin = FirDeclarationOrigin.Source + this.origin = origin this.moduleData = moduleData returnTypeRef = buildResolvedTypeRef { source = sourceElement @@ -119,14 +127,18 @@ fun FirRegularClassBuilder.generateValueOfFunction( } fun FirRegularClassBuilder.generateEntriesGetter( - moduleData: FirModuleData, packageFqName: FqName, classFqName: FqName, makeExpect: Boolean = false + moduleData: FirModuleData, + packageFqName: FqName, + classFqName: FqName, + makeExpect: Boolean = false, + origin: FirDeclarationOrigin = FirDeclarationOrigin.Source ) { val sourceElement = source?.fakeElement(KtFakeSourceElementKind.EnumGeneratedDeclaration) declarations += buildProperty { source = sourceElement isVar = false isLocal = false - origin = FirDeclarationOrigin.Source + this.origin = origin this.moduleData = moduleData returnTypeRef = buildResolvedTypeRef { source = sourceElement @@ -147,7 +159,7 @@ fun FirRegularClassBuilder.generateEntriesGetter( resolvePhase = this@generateEntriesGetter.resolvePhase getter = FirDefaultPropertyGetter( sourceElement?.fakeElement(KtFakeSourceElementKind.EnumGeneratedDeclaration), - moduleData, FirDeclarationOrigin.Source, returnTypeRef.copyWithNewSourceKind(KtFakeSourceElementKind.EnumGeneratedDeclaration), + moduleData, origin, returnTypeRef.copyWithNewSourceKind(KtFakeSourceElementKind.EnumGeneratedDeclaration), Visibilities.Public, symbol ).apply { this.status = createStatus(this@generateEntriesGetter.status).apply {