From 63aa5191da944dcee2a64bde727a034db210f3ca Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 16 Mar 2020 12:53:11 +0300 Subject: [PATCH] Move Fir2IrFakeOverrideGenerator to 'backend.generators' package --- .../src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt | 4 +++- .../FakeOverrideGenerator.kt} | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) rename compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/{Fir2IrFakeOverrideGenerator.kt => generators/FakeOverrideGenerator.kt} (97%) 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 1d61e94fe52..b90fc26ce59 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 @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.backend import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.fir.* +import org.jetbrains.kotlin.fir.backend.generators.FakeOverrideGenerator import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyGetter import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertySetter @@ -58,7 +59,7 @@ class Fir2IrVisitor( private val conversionScope = Fir2IrConversionScope() - private val fakeOverrideGenerator = Fir2IrFakeOverrideGenerator(session, declarationStorage, conversionScope, fakeOverrideMode) + private val fakeOverrideGenerator = FakeOverrideGenerator(session, declarationStorage, conversionScope, fakeOverrideMode) private fun FirTypeRef.toIrType(): IrType = with(typeConverter) { toIrType() } @@ -145,6 +146,7 @@ class Fir2IrVisitor( override fun visitRegularClass(regularClass: FirRegularClass, data: Any?): IrElement { if (regularClass.visibility == Visibilities.LOCAL) { val irParent = conversionScope.parentFromStack() + // NB: for implicit types it is possible that local class is already cached val irClass = classifierStorage.getCachedIrClass(regularClass)?.apply { this.parent = irParent } if (irClass != null) { converter.processRegisteredLocalClassAndNestedClasses(regularClass, irClass) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrFakeOverrideGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/FakeOverrideGenerator.kt similarity index 97% rename from compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrFakeOverrideGenerator.kt rename to compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/FakeOverrideGenerator.kt index c45289b0785..b6638b82f7d 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrFakeOverrideGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/FakeOverrideGenerator.kt @@ -3,10 +3,12 @@ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.fir.backend +package org.jetbrains.kotlin.fir.backend.generators import org.jetbrains.kotlin.descriptors.Visibilities import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.backend.* +import org.jetbrains.kotlin.fir.backend.collectCallableNamesFromSupertypes import org.jetbrains.kotlin.fir.declarations.FirClass import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.declarations.FirRegularClass @@ -23,7 +25,7 @@ import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol import org.jetbrains.kotlin.name.Name -class Fir2IrFakeOverrideGenerator( +internal class FakeOverrideGenerator( private val session: FirSession, private val declarationStorage: Fir2IrDeclarationStorage, private val conversionScope: Fir2IrConversionScope,