IC mangling: Use correct mangling scheme when
checking for duplicate signatures.
This commit is contained in:
+2
-1
@@ -50,13 +50,14 @@ class BuilderFactoryForDuplicateSignatureDiagnostics(
|
|||||||
private val diagnostics: DiagnosticSink,
|
private val diagnostics: DiagnosticSink,
|
||||||
moduleName: String,
|
moduleName: String,
|
||||||
languageVersionSettings: LanguageVersionSettings,
|
languageVersionSettings: LanguageVersionSettings,
|
||||||
|
useOldInlineClassesManglingScheme: Boolean,
|
||||||
shouldGenerate: (JvmDeclarationOrigin) -> Boolean,
|
shouldGenerate: (JvmDeclarationOrigin) -> Boolean,
|
||||||
) : SignatureCollectingClassBuilderFactory(builderFactory, shouldGenerate) {
|
) : SignatureCollectingClassBuilderFactory(builderFactory, shouldGenerate) {
|
||||||
|
|
||||||
private val mapAsmMethod: (FunctionDescriptor) -> Method = KotlinTypeMapper(
|
private val mapAsmMethod: (FunctionDescriptor) -> Method = 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,
|
||||||
useOldInlineClassesManglingScheme = false
|
useOldInlineClassesManglingScheme = useOldInlineClassesManglingScheme
|
||||||
)::mapAsmMethod
|
)::mapAsmMethod
|
||||||
|
|
||||||
private val reportDiagnosticsTasks = ArrayList<() -> Unit>()
|
private val reportDiagnosticsTasks = ArrayList<() -> Unit>()
|
||||||
|
|||||||
@@ -322,6 +322,7 @@ class GenerationState private constructor(
|
|||||||
else
|
else
|
||||||
BuilderFactoryForDuplicateSignatureDiagnostics(
|
BuilderFactoryForDuplicateSignatureDiagnostics(
|
||||||
it, bindingContext, diagnostics, this.moduleName, languageVersionSettings,
|
it, bindingContext, diagnostics, this.moduleName, languageVersionSettings,
|
||||||
|
useOldManglingSchemeForFunctionsWithInlineClassesInSignatures,
|
||||||
shouldGenerate = { origin -> !shouldOnlyCollectSignatures(origin) },
|
shouldGenerate = { origin -> !shouldOnlyCollectSignatures(origin) },
|
||||||
).apply { duplicateSignatureFactory = this }
|
).apply { duplicateSignatureFactory = this }
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user