d2b8204fdc
(e.g., `nullable.a = b`), and use positioning strategies to locate the dot in the LHS expression. Without it, only the callee reference is reported on, which makes the highlighting of the error and application of quickfixes incorrect in the IDE. Also fixed issue with annotated and/or labeled expressions on LHS of assignment (e.g., `(@Ann label@ i) = 34`).
53 lines
732 B
Kotlin
Vendored
53 lines
732 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()
|
|
p.x = 34 //should be an error here
|
|
p.y = 23
|
|
|
|
fun inner() {
|
|
p.x = 44
|
|
}
|
|
}
|
|
|
|
class R {
|
|
val p = P();
|
|
init {
|
|
p.x = 42
|
|
}
|
|
|
|
val testInGetterInOtherClass : Int
|
|
get() {
|
|
p.x = 33
|
|
return 3
|
|
}
|
|
}
|
|
|
|
fun test() {
|
|
val o = object {
|
|
fun run() {
|
|
<!UNRESOLVED_REFERENCE!>p<!>.x = 43
|
|
}
|
|
}
|
|
} |