[FIR] Report warnings for inconsistent visibilities of accessors
K1 didn't report diagnostics for accessors of intersection overrides, so this change prevents a BC. ^KT-66046 Fixed
This commit is contained in:
committed by
Space Team
parent
7ecbaf7d1e
commit
d3dfbec01a
Vendored
+1
-1
@@ -9,7 +9,7 @@ interface I1 {
|
||||
var a: Int
|
||||
}
|
||||
|
||||
abstract class <!CANNOT_WEAKEN_ACCESS_PRIVILEGE!>B1<!> : A1(), I1
|
||||
abstract class <!CANNOT_WEAKEN_ACCESS_PRIVILEGE_WARNING!>B1<!> : A1(), I1
|
||||
|
||||
open class A2 {
|
||||
protected fun foo(): Int = 10
|
||||
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
// ISSUE: KT-66046
|
||||
|
||||
open class A1 {
|
||||
var a: Int = 10
|
||||
protected set
|
||||
}
|
||||
|
||||
interface I1 {
|
||||
var a: Int
|
||||
}
|
||||
|
||||
interface I12 {
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>internal<!> var a: Int
|
||||
}
|
||||
|
||||
abstract class <!CANNOT_WEAKEN_ACCESS_PRIVILEGE_WARNING!>B1<!> : A1(), I1
|
||||
abstract class <!CANNOT_CHANGE_ACCESS_PRIVILEGE_WARNING!>B12<!> : A1(), I12
|
||||
|
||||
open class A2 {
|
||||
protected fun foo(): Int = 10
|
||||
}
|
||||
|
||||
interface I2 {
|
||||
fun foo(): Int
|
||||
}
|
||||
|
||||
abstract class <!CANNOT_WEAKEN_ACCESS_PRIVILEGE!>B2<!> : A2(), I2
|
||||
|
||||
interface I3 {
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>internal<!> var bar: String
|
||||
}
|
||||
|
||||
interface I4 {
|
||||
var bar: String
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>protected<!> set
|
||||
}
|
||||
|
||||
abstract <!CANNOT_INFER_VISIBILITY_WARNING!>class B3<!> : I3, I4
|
||||
Vendored
+38
@@ -0,0 +1,38 @@
|
||||
// ISSUE: KT-66046
|
||||
|
||||
open class A1 {
|
||||
var a: Int = 10
|
||||
protected set
|
||||
}
|
||||
|
||||
interface I1 {
|
||||
var a: Int
|
||||
}
|
||||
|
||||
interface I12 {
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>internal<!> var a: Int
|
||||
}
|
||||
|
||||
abstract class B1 : A1(), I1
|
||||
abstract class B12 : A1(), I12
|
||||
|
||||
open class A2 {
|
||||
protected fun foo(): Int = 10
|
||||
}
|
||||
|
||||
interface I2 {
|
||||
fun foo(): Int
|
||||
}
|
||||
|
||||
abstract class <!CANNOT_INFER_VISIBILITY!>B2<!> : A2(), I2
|
||||
|
||||
interface I3 {
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>internal<!> var bar: String
|
||||
}
|
||||
|
||||
interface I4 {
|
||||
var bar: String
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>protected<!> set
|
||||
}
|
||||
|
||||
abstract class B3 : I3, I4
|
||||
Reference in New Issue
Block a user