I would've assumed that a method annotated with @JvmStatic would be unable to access, let alone modify, a class property.
Based on the following this is not the case. This code clearly updates state, printing From main - 11.
object Foo {
var bar = 5
@JvmStatic
fun updateBar(updateVal : Int) {
println("bar = $bar")
bar += updateVal
println("bar = $bar")
}
}
fun main() {
Foo.updateBar(6)
println("From main - ${Foo.bar}")
}