Files
kotlin-fork/plugins/assign-plugin/testData/diagnostics/noAnnotation.fir.kt
T
Dmitriy Novozhilov 02e327277e [FIR] Report VAL_REASSIGNMENT on assign to non-local vals
In this commit reporting on member properties in init section of class
  is not supported (see KT-55528)

^KT-55493 Fixed
2022-12-20 08:12:09 +00:00

30 lines
905 B
Kotlin
Vendored

data class StringProperty(var v: String) {
fun assign(v: String) {
this.v = v
}
fun assign(v: StringProperty) {
this.v = v.get()
}
fun get(): String = v
}
fun StringProperty.assign(v: Int) = this.assign("OK")
data class Task(val input: StringProperty)
fun `should not work with assignment when there is no annotation on a type`() {
val task = Task(StringProperty("Fail"))
task.<!VAL_REASSIGNMENT!>input<!> = <!ASSIGNMENT_TYPE_MISMATCH!>"OK"<!>
task.<!VAL_REASSIGNMENT!>input<!> = StringProperty("OK")
task.apply {
<!VAL_REASSIGNMENT!>input<!> = <!ASSIGNMENT_TYPE_MISMATCH!>"OK"<!>
}
task.apply {
<!VAL_REASSIGNMENT!>input<!> = StringProperty("OK")
}
task.<!VAL_REASSIGNMENT!>input<!> = <!ASSIGNMENT_TYPE_MISMATCH!>42<!>
task.apply {
<!VAL_REASSIGNMENT!>input<!> = <!ASSIGNMENT_TYPE_MISMATCH!>42<!>
}
}