JVM IR: remove obsolete code for duplicate signature diagnostics
This commit is contained in:
+4
-6
@@ -51,14 +51,12 @@ class BuilderFactoryForDuplicateSignatureDiagnostics(
|
|||||||
moduleName: String,
|
moduleName: String,
|
||||||
languageVersionSettings: LanguageVersionSettings,
|
languageVersionSettings: LanguageVersionSettings,
|
||||||
shouldGenerate: (JvmDeclarationOrigin) -> Boolean,
|
shouldGenerate: (JvmDeclarationOrigin) -> Boolean,
|
||||||
mapAsmMethod: ((FunctionDescriptor) -> Method)?
|
|
||||||
) : SignatureCollectingClassBuilderFactory(builderFactory, shouldGenerate) {
|
) : SignatureCollectingClassBuilderFactory(builderFactory, shouldGenerate) {
|
||||||
|
|
||||||
private val mapAsmMethod = mapAsmMethod
|
private val mapAsmMethod: (FunctionDescriptor) -> Method = KotlinTypeMapper(
|
||||||
?: KotlinTypeMapper(
|
// Avoid errors when some classes are not loaded for some reason
|
||||||
// Avoid errors when some classes are not loaded for some reason
|
bindingContext, ClassBuilderMode.LIGHT_CLASSES, moduleName, languageVersionSettings, isIrBackend = false
|
||||||
bindingContext, ClassBuilderMode.LIGHT_CLASSES, moduleName, languageVersionSettings, isIrBackend = false
|
)::mapAsmMethod
|
||||||
)::mapAsmMethod
|
|
||||||
|
|
||||||
private val reportDiagnosticsTasks = ArrayList<() -> Unit>()
|
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.codegen.serialization.JvmSerializationBindings
|
||||||
import org.jetbrains.kotlin.config.*
|
import org.jetbrains.kotlin.config.*
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ScriptDescriptor
|
import org.jetbrains.kotlin.descriptors.ScriptDescriptor
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
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.KotlinType
|
||||||
import org.jetbrains.kotlin.types.TypeApproximator
|
import org.jetbrains.kotlin.types.TypeApproximator
|
||||||
import org.jetbrains.org.objectweb.asm.Type
|
import org.jetbrains.org.objectweb.asm.Type
|
||||||
import org.jetbrains.org.objectweb.asm.commons.Method
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class GenerationState private constructor(
|
class GenerationState private constructor(
|
||||||
@@ -283,7 +281,6 @@ class GenerationState private constructor(
|
|||||||
val isIrWithStableAbi = configuration.getBoolean(JVMConfigurationKeys.IS_IR_WITH_STABLE_ABI)
|
val isIrWithStableAbi = configuration.getBoolean(JVMConfigurationKeys.IS_IR_WITH_STABLE_ABI)
|
||||||
|
|
||||||
val globalSerializationBindings = JvmSerializationBindings()
|
val globalSerializationBindings = JvmSerializationBindings()
|
||||||
lateinit var irBasedMapAsmMethod: (FunctionDescriptor) -> Method
|
|
||||||
var mapInlineClass: (ClassDescriptor) -> Type = { descriptor -> typeMapper.mapType(descriptor.defaultType) }
|
var mapInlineClass: (ClassDescriptor) -> Type = { descriptor -> typeMapper.mapType(descriptor.defaultType) }
|
||||||
|
|
||||||
val typeApproximator: TypeApproximator? =
|
val typeApproximator: TypeApproximator? =
|
||||||
@@ -310,7 +307,6 @@ class GenerationState private constructor(
|
|||||||
BuilderFactoryForDuplicateSignatureDiagnostics(
|
BuilderFactoryForDuplicateSignatureDiagnostics(
|
||||||
it, this.bindingContext, diagnostics, this.moduleName, this.languageVersionSettings,
|
it, this.bindingContext, diagnostics, this.moduleName, this.languageVersionSettings,
|
||||||
shouldGenerate = { origin -> !shouldOnlyCollectSignatures(origin) },
|
shouldGenerate = { origin -> !shouldOnlyCollectSignatures(origin) },
|
||||||
mapAsmMethod = if (isIrBackend) { descriptor: FunctionDescriptor -> irBasedMapAsmMethod(descriptor) } else null
|
|
||||||
).apply { duplicateSignatureFactory = this }
|
).apply { duplicateSignatureFactory = this }
|
||||||
},
|
},
|
||||||
{ BuilderFactoryForDuplicateClassNameDiagnostics(it, diagnostics) },
|
{ 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.InlineClassAbi
|
||||||
import org.jetbrains.kotlin.backend.jvm.lower.inlineclasses.MemoizedInlineClassReplacements
|
import org.jetbrains.kotlin.backend.jvm.lower.inlineclasses.MemoizedInlineClassReplacements
|
||||||
import org.jetbrains.kotlin.codegen.state.GenerationState
|
import org.jetbrains.kotlin.codegen.state.GenerationState
|
||||||
import org.jetbrains.kotlin.descriptors.ClassConstructorDescriptor
|
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
|
||||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
||||||
import org.jetbrains.kotlin.ir.IrElement
|
import org.jetbrains.kotlin.ir.IrElement
|
||||||
import org.jetbrains.kotlin.ir.builders.IrBuilderWithScope
|
import org.jetbrains.kotlin.ir.builders.IrBuilderWithScope
|
||||||
@@ -129,12 +127,6 @@ class JvmBackendContext(
|
|||||||
internal fun referenceTypeParameter(descriptor: TypeParameterDescriptor): IrTypeParameterSymbol =
|
internal fun referenceTypeParameter(descriptor: TypeParameterDescriptor): IrTypeParameterSymbol =
|
||||||
symbolTable.lazyWrapper.referenceTypeParameter(descriptor)
|
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) {
|
override fun log(message: () -> String) {
|
||||||
/*TODO*/
|
/*TODO*/
|
||||||
if (inVerbosePhase) {
|
if (inVerbosePhase) {
|
||||||
|
|||||||
@@ -119,9 +119,6 @@ object JvmBackendFacade {
|
|||||||
/* JvmBackendContext creates new unbound symbols, have to resolve them. */
|
/* JvmBackendContext creates new unbound symbols, have to resolve them. */
|
||||||
ExternalDependenciesGenerator(symbolTable, irProviders, state.languageVersionSettings).generateUnboundSymbolsAsDependencies()
|
ExternalDependenciesGenerator(symbolTable, irProviders, state.languageVersionSettings).generateUnboundSymbolsAsDependencies()
|
||||||
|
|
||||||
state.irBasedMapAsmMethod = { descriptor ->
|
|
||||||
context.methodSignatureMapper.mapAsmMethod(context.referenceFunction(descriptor).owner)
|
|
||||||
}
|
|
||||||
state.mapInlineClass = { descriptor ->
|
state.mapInlineClass = { descriptor ->
|
||||||
context.typeMapper.mapType(context.referenceClass(descriptor).defaultType)
|
context.typeMapper.mapType(context.referenceClass(descriptor).defaultType)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user