From 8d15a1d13dc246840aa5a59b1602e9ee10e8f6a0 Mon Sep 17 00:00:00 2001 From: Georgy Bronnikov Date: Tue, 25 May 2021 18:00:01 +0300 Subject: [PATCH] JVM_IR: use signatures in AbstractIrSerializeCompileKotlinAgainstInlineKotlinTest Using signatures allows us to identify calls from a new module to an old one. --- .../AbstractCompileKotlinAgainstInlineKotlinTest.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractCompileKotlinAgainstInlineKotlinTest.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractCompileKotlinAgainstInlineKotlinTest.kt index ec393f90494..01049bedebd 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractCompileKotlinAgainstInlineKotlinTest.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractCompileKotlinAgainstInlineKotlinTest.kt @@ -9,8 +9,8 @@ import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.JVMConfigurationKeys import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction -import org.jetbrains.kotlin.ir.expressions.IrCall import org.jetbrains.kotlin.ir.expressions.IrMemberAccessExpression +import org.jetbrains.kotlin.ir.util.IdSignature import org.jetbrains.kotlin.ir.util.allUnbound import org.jetbrains.kotlin.ir.util.resolveFakeOverride import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid @@ -96,7 +96,7 @@ open class AbstractIrSerializeCompileKotlinAgainstInlineKotlinTest : AbstractIrC } private class CheckInlineBodies(testServices: TestServices) : AbstractIrHandler(testServices) { - val declaredInlineFunctions = mutableSetOf() + val declaredInlineFunctionSignatures = mutableSetOf() override fun processModule(module: TestModule, info: IrBackendInput) { val irModule = info.backendInput.irModuleFragment @@ -115,7 +115,7 @@ open class AbstractIrSerializeCompileKotlinAgainstInlineKotlinTest : AbstractIrC } override fun visitSimpleFunction(declaration: IrSimpleFunction) { - if (declaration.isInline) declaredInlineFunctions.add(declaration) + if (declaration.isInline) declaration.symbol.signature?.let { declaredInlineFunctionSignatures.add(it) } super.visitSimpleFunction(declaration) } } @@ -129,7 +129,7 @@ open class AbstractIrSerializeCompileKotlinAgainstInlineKotlinTest : AbstractIrC val symbol = expression.symbol assertions.assertTrue(symbol.isBound) val callee = symbol.owner - if (callee in declaredInlineFunctions) { + if (callee.symbol.signature in declaredInlineFunctionSignatures) { val trueCallee = (callee as IrSimpleFunction).resolveFakeOverride()!! assertions.assertNotNull(trueCallee.body) }