// TARGET_BACKEND: JVM_IR // IGNORE_BACKEND_K1: JVM_IR // FILE: Base.java public class Base { protected String TAG = "OK"; public String foo() { return TAG; } } // FILE: Sub.kt class Sub : Base() { companion object { val TAG = "FAIL" } fun log() = TAG fun logReference() = this::TAG.get() fun logAssignment(): String { TAG = "12" if (foo() != "12") return "Error writing: ${foo()}" return "OK" } } fun box(): String { if (Sub().log() != "OK") return Sub().log() if (Sub().logReference() != "OK") return Sub().logReference() return Sub().logAssignment() }