IC mangling: Use correct mangling scheme when

checking for duplicate signatures.
This commit is contained in:
Ilmir Usmanov
2020-11-16 20:44:35 +01:00
parent 7761d30365
commit 7ee35af721
2 changed files with 3 additions and 1 deletions
@@ -50,13 +50,14 @@ class BuilderFactoryForDuplicateSignatureDiagnostics(
private val diagnostics: DiagnosticSink,
moduleName: String,
languageVersionSettings: LanguageVersionSettings,
useOldInlineClassesManglingScheme: Boolean,
shouldGenerate: (JvmDeclarationOrigin) -> Boolean,
) : SignatureCollectingClassBuilderFactory(builderFactory, shouldGenerate) {
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,
useOldInlineClassesManglingScheme = false
useOldInlineClassesManglingScheme = useOldInlineClassesManglingScheme
)::mapAsmMethod
private val reportDiagnosticsTasks = ArrayList<() -> Unit>()
@@ -322,6 +322,7 @@ class GenerationState private constructor(
else
BuilderFactoryForDuplicateSignatureDiagnostics(
it, bindingContext, diagnostics, this.moduleName, languageVersionSettings,
useOldManglingSchemeForFunctionsWithInlineClassesInSignatures,
shouldGenerate = { origin -> !shouldOnlyCollectSignatures(origin) },
).apply { duplicateSignatureFactory = this }
},