IR: don't produce fake overrides for static and private declarations

Note that only irrelevantStaticProperty.kt failed before this change.
Having private declarations caused no problems, but it seems incorrect,
so it's fixed now and irrelevantPrivateDeclarations is added just in
case.

 #KT-41848 Fixed
This commit is contained in:
Alexander Udalov
2020-09-11 20:48:43 +02:00
parent 703150e3ad
commit 2f86554d5a
10 changed files with 126 additions and 5 deletions
@@ -0,0 +1,24 @@
fun interface A {
fun invoke(s: String)
private fun privateFun() {}
private var privateProperty: String
get() = ""
set(value) {}
companion object {
fun s(a: A) {
a.invoke("OK")
}
}
}
fun test(f: (String) -> Unit) {
A.s(f)
}
fun box(): String {
var result = "Fail"
test { result = it }
return result
}