[FIR] KT-44939: report REDUNDANT_VISIBILITY for explicit public overriding public

This commit is contained in:
Nikolay Lunyak
2021-09-30 09:09:19 +00:00
committed by Space
parent 5c3ce67648
commit 1363a49d30
7 changed files with 116 additions and 11 deletions
@@ -0,0 +1,41 @@
FILE: RedundantVisibilityDueToOverride.kt
public abstract class A : R|kotlin/Any| {
public constructor(): R|A| {
super<R|kotlin/Any|>()
}
public open var attribute: R|kotlin/String| = String(a)
public get(): R|kotlin/String|
protected set(value: R|kotlin/String|): R|kotlin/Unit|
}
public final class C1 : R|A| {
public constructor(): R|C1| {
super<R|A|>()
}
public final override var attribute: R|kotlin/String| = this@R|/C1|.super<R|A|>.R|/A.attribute|
public get(): R|kotlin/String|
public set(value: R|kotlin/String|): R|kotlin/Unit|
}
public abstract class B2 : R|A| {
public constructor(): R|B2| {
super<R|A|>()
}
public open override var attribute: R|kotlin/String| = String(b)
public get(): R|kotlin/String|
public set(value: R|kotlin/String|): R|kotlin/Unit|
}
public final class C2 : R|B2| {
public constructor(): R|C2| {
super<R|B2|>()
}
public final override var attribute: R|kotlin/String| = this@R|/C2|.super<R|B2|>.R|/B2.attribute|
public get(): R|kotlin/String|
public set(value: R|kotlin/String|): R|kotlin/Unit|
}
@@ -0,0 +1,18 @@
abstract class A {
open var attribute = "a"
protected set
}
class C1 : A() {
<!REDUNDANT_VISIBILITY_MODIFIER!>public<!> override var attribute = super.attribute
public set
}
abstract class B2 : A() {
override var attribute = "b"
public set
}
class C2 : B2() {
<!REDUNDANT_VISIBILITY_MODIFIER!>public<!> override var attribute = super.attribute
}