diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverrideResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverrideResolver.java index 611a4c44687..36bb6f0d8f6 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverrideResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverrideResolver.java @@ -190,18 +190,22 @@ public class OverrideResolver { OverridingUtil.OverrideCompatibilityInfo.Result result = OverridingUtil.isOverridableBy(fromSupertype, fromCurrent).getResult(); - if (Visibilities.isVisible(fromSupertype, current)) { - switch (result) { - case OVERRIDABLE: + boolean isVisible = Visibilities.isVisible(fromSupertype, current); + switch (result) { + case OVERRIDABLE: + if (isVisible) { OverridingUtil.bindOverride(fromCurrent, fromSupertype); - iterator.remove(); - break; - case CONFLICT: + } + iterator.remove(); + break; + case CONFLICT: + if (isVisible) { sink.conflict(fromSupertype, fromCurrent); - break; - case INCOMPATIBLE: - break; - } + } + iterator.remove(); + break; + case INCOMPATIBLE: + break; } } } diff --git a/compiler/testData/diagnostics/tests/regressions/kt1639-JFrame.kt b/compiler/testData/diagnostics/tests/regressions/kt1639-JFrame.kt index 89a0a0b847a..e2430bb729a 100644 --- a/compiler/testData/diagnostics/tests/regressions/kt1639-JFrame.kt +++ b/compiler/testData/diagnostics/tests/regressions/kt1639-JFrame.kt @@ -1,10 +1,9 @@ package test import javax.swing.JFrame -/* waiting for KT-1725 + class KFrame() : JFrame() { { val x = this.accessibleContext // make sure field is visible } } -*/ \ No newline at end of file