Files
kotlin-fork/compiler/testData/diagnostics/tests/controlFlowAnalysis/kt2330.fir.kt
T
2021-10-03 17:10:06 +03:00

54 lines
825 B
Kotlin
Vendored

//KT-2330 Check visibility of getters and setters correspondingly
package a
class P {
var x : Int = 0
private set
var y : Int = 0
val other = P();
init {
x = 23
other.x = 4
}
val testInGetter : Int
get() {
x = 33
return 3
}
}
fun foo() {
val p = P()
<!INVISIBLE_SETTER!>p.x<!> = 34 //should be an error here
p.y = 23
fun inner() {
<!INVISIBLE_SETTER!>p.x<!> = 44
}
}
class R {
val p = P();
init {
<!INVISIBLE_SETTER!>p.x<!> = 42
}
val testInGetterInOtherClass : Int
get() {
<!INVISIBLE_SETTER!>p.x<!> = 33
return 3
}
}
fun test() {
val o = object {
fun run() {
<!UNRESOLVED_REFERENCE!>p<!>.x = 43
}
}
}