From 7087ba3ca91091033df4798095b0fd9647833abb Mon Sep 17 00:00:00 2001 From: "Denis.Zharkov" Date: Wed, 7 Jun 2023 14:36:38 +0200 Subject: [PATCH] FIR2IR: Minor. Move `withContainingFirClass` to `convertClassContent` As it's anyway is being called each time --- .../kotlin/fir/backend/Fir2IrVisitor.kt | 16 ++++------------ .../backend/generators/ClassMemberGenerator.kt | 6 ++---- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt index bbe4766659e..67cd45f0952 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt @@ -142,9 +142,7 @@ class Fir2IrVisitor( converter.processAnonymousObjectMembers(anonymousObject, correspondingClass, processHeaders = true) converter.bindFakeOverridesInClass(correspondingClass) conversionScope.withParent(correspondingClass) { - conversionScope.withContainingFirClass(anonymousObject) { - memberGenerator.convertClassContent(correspondingClass, anonymousObject) - } + memberGenerator.convertClassContent(correspondingClass, anonymousObject) val constructor = correspondingClass.constructors.first() irEnumEntry.initializerExpression = irFactory.createExpressionBody( IrEnumConstructorCallImpl( @@ -192,9 +190,7 @@ class Fir2IrVisitor( val irClass = classifierStorage.getCachedIrClass(regularClass)?.apply { this.parent = irParent } if (irClass != null) { return conversionScope.withParent(irClass) { - conversionScope.withContainingFirClass(regularClass) { - memberGenerator.convertClassContent(irClass, regularClass) - } + memberGenerator.convertClassContent(irClass, regularClass) } } converter.processLocalClassAndNestedClasses(regularClass, irParent) @@ -204,9 +200,7 @@ class Fir2IrVisitor( irClass.sealedSubclasses = regularClass.getIrSymbolsForSealedSubclasses() } return conversionScope.withParent(irClass) { - conversionScope.withContainingFirClass(regularClass) { - memberGenerator.convertClassContent(irClass, regularClass) - } + memberGenerator.convertClassContent(irClass, regularClass) } } @@ -245,9 +239,7 @@ class Fir2IrVisitor( ?: converter.processLocalClassAndNestedClasses(anonymousObject, irParent) conversionScope.withParent(irAnonymousObject) { - conversionScope.withContainingFirClass(anonymousObject) { - memberGenerator.convertClassContent(irAnonymousObject, anonymousObject) - } + memberGenerator.convertClassContent(irAnonymousObject, anonymousObject) } val anonymousClassType = irAnonymousObject.thisReceiver!!.type return anonymousObject.convertWithOffsets { startOffset, endOffset -> diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/ClassMemberGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/ClassMemberGenerator.kt index 550a0e895b5..5f54329fffb 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/ClassMemberGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/ClassMemberGenerator.kt @@ -53,7 +53,7 @@ internal class ClassMemberGenerator( private fun applyParentFromStackTo(declaration: T): T = conversionScope.applyParentFromStackTo(declaration) - fun convertClassContent(irClass: IrClass, klass: FirClass) { + fun convertClassContent(irClass: IrClass, klass: FirClass): Unit = conversionScope.withContainingFirClass(klass) { declarationStorage.enterScope(irClass) conversionScope.withClass(irClass) { val allDeclarations = buildList { @@ -84,9 +84,7 @@ internal class ClassMemberGenerator( val irNestedClass = classifierStorage.getCachedIrClass(declaration)!! irNestedClass.parent = irClass conversionScope.withParent(irNestedClass) { - conversionScope.withContainingFirClass(declaration) { - convertClassContent(irNestedClass, declaration) - } + convertClassContent(irNestedClass, declaration) } } else -> declaration.accept(visitor, null)