From bf0bb9e9467e350a404202455ab01c8e83f5f73c Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Thu, 13 Aug 2020 16:43:38 +0200 Subject: [PATCH] JVM IR: remove obsolete code for duplicate signature diagnostics --- .../BuilderFactoryForDuplicateSignatureDiagnostics.kt | 10 ++++------ .../jetbrains/kotlin/codegen/state/GenerationState.kt | 4 ---- .../jetbrains/kotlin/backend/jvm/JvmBackendContext.kt | 8 -------- .../jetbrains/kotlin/backend/jvm/JvmBackendFacade.kt | 3 --- 4 files changed, 4 insertions(+), 21 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/BuilderFactoryForDuplicateSignatureDiagnostics.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/BuilderFactoryForDuplicateSignatureDiagnostics.kt index f4500652272..cee0a2fe39c 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/BuilderFactoryForDuplicateSignatureDiagnostics.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/BuilderFactoryForDuplicateSignatureDiagnostics.kt @@ -51,14 +51,12 @@ class BuilderFactoryForDuplicateSignatureDiagnostics( moduleName: String, languageVersionSettings: LanguageVersionSettings, shouldGenerate: (JvmDeclarationOrigin) -> Boolean, - mapAsmMethod: ((FunctionDescriptor) -> Method)? ) : SignatureCollectingClassBuilderFactory(builderFactory, shouldGenerate) { - private val mapAsmMethod = mapAsmMethod - ?: KotlinTypeMapper( - // Avoid errors when some classes are not loaded for some reason - bindingContext, ClassBuilderMode.LIGHT_CLASSES, moduleName, languageVersionSettings, isIrBackend = false - )::mapAsmMethod + private val mapAsmMethod: (FunctionDescriptor) -> Method = KotlinTypeMapper( + // Avoid errors when some classes are not loaded for some reason + bindingContext, ClassBuilderMode.LIGHT_CLASSES, moduleName, languageVersionSettings, isIrBackend = false + )::mapAsmMethod private val reportDiagnosticsTasks = ArrayList<() -> Unit>() diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/GenerationState.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/GenerationState.kt index acc54819557..f304adba258 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/GenerationState.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/GenerationState.kt @@ -21,7 +21,6 @@ import org.jetbrains.kotlin.codegen.optimization.OptimizationClassBuilderFactory import org.jetbrains.kotlin.codegen.serialization.JvmSerializationBindings import org.jetbrains.kotlin.config.* import org.jetbrains.kotlin.descriptors.ClassDescriptor -import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.ScriptDescriptor import org.jetbrains.kotlin.diagnostics.Diagnostic @@ -48,7 +47,6 @@ import org.jetbrains.kotlin.storage.LockBasedStorageManager import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.TypeApproximator import org.jetbrains.org.objectweb.asm.Type -import org.jetbrains.org.objectweb.asm.commons.Method import java.io.File class GenerationState private constructor( @@ -283,7 +281,6 @@ class GenerationState private constructor( val isIrWithStableAbi = configuration.getBoolean(JVMConfigurationKeys.IS_IR_WITH_STABLE_ABI) val globalSerializationBindings = JvmSerializationBindings() - lateinit var irBasedMapAsmMethod: (FunctionDescriptor) -> Method var mapInlineClass: (ClassDescriptor) -> Type = { descriptor -> typeMapper.mapType(descriptor.defaultType) } val typeApproximator: TypeApproximator? = @@ -310,7 +307,6 @@ class GenerationState private constructor( BuilderFactoryForDuplicateSignatureDiagnostics( it, this.bindingContext, diagnostics, this.moduleName, this.languageVersionSettings, shouldGenerate = { origin -> !shouldOnlyCollectSignatures(origin) }, - mapAsmMethod = if (isIrBackend) { descriptor: FunctionDescriptor -> irBasedMapAsmMethod(descriptor) } else null ).apply { duplicateSignatureFactory = this } }, { BuilderFactoryForDuplicateClassNameDiagnostics(it, diagnostics) }, diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmBackendContext.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmBackendContext.kt index e8539dce8a7..ffafe153c13 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmBackendContext.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmBackendContext.kt @@ -23,9 +23,7 @@ import org.jetbrains.kotlin.backend.jvm.lower.JvmInnerClassesSupport import org.jetbrains.kotlin.backend.jvm.lower.inlineclasses.InlineClassAbi import org.jetbrains.kotlin.backend.jvm.lower.inlineclasses.MemoizedInlineClassReplacements import org.jetbrains.kotlin.codegen.state.GenerationState -import org.jetbrains.kotlin.descriptors.ClassConstructorDescriptor import org.jetbrains.kotlin.descriptors.ClassDescriptor -import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.builders.IrBuilderWithScope @@ -129,12 +127,6 @@ class JvmBackendContext( internal fun referenceTypeParameter(descriptor: TypeParameterDescriptor): IrTypeParameterSymbol = symbolTable.lazyWrapper.referenceTypeParameter(descriptor) - internal fun referenceFunction(descriptor: FunctionDescriptor): IrFunctionSymbol = - if (descriptor is ClassConstructorDescriptor) - symbolTable.lazyWrapper.referenceConstructor(descriptor) - else - symbolTable.lazyWrapper.referenceSimpleFunction(descriptor) - override fun log(message: () -> String) { /*TODO*/ if (inVerbosePhase) { diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmBackendFacade.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmBackendFacade.kt index 5efbfccb0ff..72e54abc3c8 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmBackendFacade.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmBackendFacade.kt @@ -119,9 +119,6 @@ object JvmBackendFacade { /* JvmBackendContext creates new unbound symbols, have to resolve them. */ ExternalDependenciesGenerator(symbolTable, irProviders, state.languageVersionSettings).generateUnboundSymbolsAsDependencies() - state.irBasedMapAsmMethod = { descriptor -> - context.methodSignatureMapper.mapAsmMethod(context.referenceFunction(descriptor).owner) - } state.mapInlineClass = { descriptor -> context.typeMapper.mapType(context.referenceClass(descriptor).defaultType) }