JVM IR: remove obsolete code for duplicate signature diagnostics

This commit is contained in:
Alexander Udalov
2020-08-13 16:43:38 +02:00
parent 425b192a5f
commit bf0bb9e946
4 changed files with 4 additions and 21 deletions
@@ -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>()
@@ -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) },
@@ -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) {
@@ -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)
}