No override for private to this

This commit is contained in:
Valentin Kipyatkov
2015-08-26 15:35:46 +03:00
parent 4717b17418
commit ab783e052f
4 changed files with 29 additions and 1 deletions
@@ -28,7 +28,7 @@ public class OverrideMembersHandler : OverrideImplementMembersHandler() {
if (member is CallableMemberDescriptor
&& (member.kind == CallableMemberDescriptor.Kind.FAKE_OVERRIDE || member.kind == CallableMemberDescriptor.Kind.DELEGATION)) {
val overridden = member.overriddenDescriptors
if (overridden.any { it.modality == Modality.FINAL || it.visibility.normalize() == Visibilities.PRIVATE }) continue
if (overridden.any { it.modality == Modality.FINAL || Visibilities.isPrivate(it.visibility.normalize()) }) continue
class Data(
val realSuper: CallableMemberDescriptor,
@@ -0,0 +1,7 @@
open class A<out T> {
private open fun foo(t: T) {}
}
class B : A<String>() {
<caret>
}
@@ -0,0 +1,17 @@
open class A<out T> {
private open fun foo(t: T) {}
}
class B : A<String>() {
override fun equals(other: Any?): Boolean {
<selection><caret>return super.equals(other)</selection>
}
override fun hashCode(): Int {
return super.hashCode()
}
override fun toString(): String {
return super.toString()
}
}
@@ -152,6 +152,10 @@ public class OverrideImplementTest : AbstractOverrideImplementTest() {
doMultiOverrideDirectoryTest()
}
public fun testPrivateToThis() {
doMultiOverrideFileTest()
}
public fun testInheritVisibilities() {
doMultiOverrideFileTest()
}