FIR: Do not verify descriptors consistency for FIR-based IR functions

This commit is contained in:
Denis.Zharkov
2022-03-28 18:45:39 +03:00
committed by teamcity
parent 2a6700e5d5
commit 55159eba45
3 changed files with 11 additions and 3 deletions
@@ -16,7 +16,10 @@ import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
import org.jetbrains.kotlin.test.Assertions
class IrVerifier(private val assertions: Assertions) : IrElementVisitorVoid {
class IrVerifier(
private val assertions: Assertions,
private val isFir: Boolean,
) : IrElementVisitorVoid {
private val errors = ArrayList<String>()
private val symbolForDeclaration = HashMap<IrElement, IrSymbol>()
@@ -95,6 +98,10 @@ class IrVerifier(private val assertions: Assertions) : IrElementVisitorVoid {
override fun visitFunction(declaration: IrFunction) {
visitDeclaration(declaration)
// For FIR, we don't use descriptors to build IR, but vice versa
// And at some points, like context descriptors, they might differ
if (isFir) return
val functionDescriptor = declaration.descriptor
checkTypeParameters(functionDescriptor, declaration, functionDescriptor.typeParameters)