diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/IrExternalOverridabilityCondition.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/IrExternalOverridabilityCondition.kt index a5ef3ca9bc5..8cbc71c1058 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/IrExternalOverridabilityCondition.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/IrExternalOverridabilityCondition.kt @@ -10,7 +10,6 @@ import org.jetbrains.kotlin.ir.declarations.IrOverridableMember interface IrExternalOverridabilityCondition { enum class Result { OVERRIDABLE, - CONFLICT, INCOMPATIBLE, UNKNOWN } @@ -26,8 +25,6 @@ interface IrExternalOverridabilityCondition { * * - [Result.OVERRIDABLE] means that it is definitely overridable, and neither the general override checking algorithm, nor other * external overridability conditions can refute that. - * - [Result.CONFLICT] means that it is an error to have both declarations available in the same class, so the compiler should report - * an error. * - [Result.INCOMPATIBLE] means that it is not overridable, but it's OK to have both declarations available in the same class because * they don't cause a conflict. * - [Result.UNKNOWN] means that this overridability condition cannot claim anything about the overridability, and the final result @@ -42,7 +39,7 @@ interface IrExternalOverridabilityCondition { * Specifies what values can be returned by [isOverridable]. Used as an optimization to reorder overridability conditions to prevent * redundant calculations. * - * - [Contract.CONFLICTS_ONLY] means that [isOverridable] can return [Result.CONFLICT], [Result.INCOMPATIBLE] or [Result.UNKNOWN]. + * - [Contract.CONFLICTS_ONLY] means that [isOverridable] can return [Result.INCOMPATIBLE] or [Result.UNKNOWN]. * - [Contract.SUCCESS_ONLY] means that [isOverridable] can return [Result.OVERRIDABLE] or [Result.UNKNOWN]. * - [Contract.BOTH] means that [isOverridable] can return any result. */ diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/IrOverrideChecker.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/IrOverrideChecker.kt index 13444240b7e..55e04e40585 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/IrOverrideChecker.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/IrOverrideChecker.kt @@ -158,7 +158,6 @@ class IrOverrideChecker( externalCondition.isOverridable(superMember, subMember) when (result) { OVERRIDABLE -> wasSuccess = true - CONFLICT -> return conflict("External condition failed") INCOMPATIBLE -> return incompatible("External condition") UNKNOWN -> {} } @@ -173,7 +172,6 @@ class IrOverrideChecker( val result = externalCondition.isOverridable(superMember, subMember) when (result) { - CONFLICT -> return conflict("External condition failed") INCOMPATIBLE -> return incompatible("External condition") OVERRIDABLE -> error( "Contract violation in ${externalCondition.javaClass} condition. It's not supposed to end with success" diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/ExternalOverridabilityCondition.java b/core/descriptors/src/org/jetbrains/kotlin/resolve/ExternalOverridabilityCondition.java index 83a52b24d7d..39d608cb5f5 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/ExternalOverridabilityCondition.java +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/ExternalOverridabilityCondition.java @@ -23,7 +23,7 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor; public interface ExternalOverridabilityCondition { enum Result { - OVERRIDABLE, CONFLICT, INCOMPATIBLE, UNKNOWN + OVERRIDABLE, INCOMPATIBLE, UNKNOWN } enum Contract { diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/OverridingUtil.java b/core/descriptors/src/org/jetbrains/kotlin/resolve/OverridingUtil.java index 15d95dfacc1..1a720839e47 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/OverridingUtil.java +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/OverridingUtil.java @@ -258,8 +258,6 @@ public class OverridingUtil { case OVERRIDABLE: wasSuccess = true; break; - case CONFLICT: - return OverrideCompatibilityInfo.conflict("External condition failed"); case INCOMPATIBLE: return OverrideCompatibilityInfo.incompatible("External condition"); case UNKNOWN: @@ -280,8 +278,6 @@ public class OverridingUtil { ExternalOverridabilityCondition.Result result = externalCondition.isOverridable(superDescriptor, subDescriptor, subClassDescriptor); switch (result) { - case CONFLICT: - return OverrideCompatibilityInfo.conflict("External condition failed"); case INCOMPATIBLE: return OverrideCompatibilityInfo.incompatible("External condition"); case OVERRIDABLE: