From 35b9f43608d3f6127899d624c383d4a00028c03c Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Thu, 24 Oct 2019 15:52:22 +0300 Subject: [PATCH] IR: use isFakeOverride (and see what breaks) --- .../ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt index 85e1e604b5b..0be4bc268a3 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt @@ -26,7 +26,6 @@ import org.jetbrains.kotlin.resolve.source.PsiSourceElement import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.checker.KotlinTypeChecker import org.jetbrains.kotlin.utils.DFS -import java.util.* /** * Binds the arguments explicitly represented in the IR to the parameters of the accessed function. @@ -225,7 +224,13 @@ val IrSimpleFunction.isSynthesized: Boolean get() = descriptor.kind == CallableM val IrDeclaration.isReal: Boolean get() = !isFakeOverride -val IrDeclaration.isFakeOverride: Boolean get() = origin == IrDeclarationOrigin.FAKE_OVERRIDE +val IrDeclaration.isFakeOverride: Boolean + get() = when (this) { + is IrSimpleFunction -> isFakeOverride + is IrProperty -> isFakeOverride + is IrField -> isFakeOverride + else -> false + } fun IrClass.isSubclassOf(ancestor: IrClass): Boolean {