Files
kotlin-fork/compiler/testData/codegen/box/statics/protectedStatic2.kt
T
2019-11-19 11:00:09 +03:00

62 lines
1.3 KiB
Kotlin
Vendored

// IGNORE_BACKEND_FIR: JVM_IR
// TARGET_BACKEND: JVM
// FILE: Base.java
public class Base {
protected static String BASE_ONLY = "BASE";
protected static String baseOnly() {
return BASE_ONLY;
}
protected static String TEST = "BASE";
protected static String test() {
return TEST;
}
public static class Derived extends Base {
protected static String TEST = "DERIVED";
protected static String test() {
return TEST;
}
}
}
// FILE: Kotlin.kt
package anotherPackage
import Base.Derived
import Base
class Kotlin : Base.Derived() {
fun doTest(): String {
if ({ TEST }() != "DERIVED") return "fail 1"
if ({ test() }() != "DERIVED") return "fail 2"
if ({ Derived.TEST }() != "DERIVED") return "fail 3"
if ({ Derived.test() }() != "DERIVED") return "fail 4"
if ({ Base.TEST }() != "BASE") return "fail 5"
if ({ Base.test() }() != "BASE") return "fail 6"
if ({ Base.BASE_ONLY }() != "BASE") return "fail 7"
if ({ Base.baseOnly() }() != "BASE") return "fail 8"
if ({ BASE_ONLY }() != "BASE") return "fail 9"
if ({ baseOnly() }() != "BASE") return "fail 10"
return "OK"
}
}
fun box(): String {
return Kotlin().doTest()
}