Files
kotlin-fork/compiler/testData/diagnostics/tests/controlFlowAnalysis/kt2330.fir.kt
T
Mark Punzalan d2b8204fdc FIR/FIR IDE: Use entire FirVariableAssignment when reporting UNSAFE_CALL
(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`).
2021-05-20 20:32:58 +02:00

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
}
}
}