Deal with cases when different visibility of overridden members could produce incorrect fake override.
(by Pavel Talanov and Andrey Breslav)
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
package test
|
||||
|
||||
trait A {
|
||||
private val a: String
|
||||
get() = "AAAA!"
|
||||
}
|
||||
|
||||
open class C {
|
||||
private val a: String = ""
|
||||
}
|
||||
|
||||
class Subject : C(), A {
|
||||
val c = <!INVISIBLE_MEMBER!>a<!>
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package test
|
||||
|
||||
trait A {
|
||||
protected val a: String
|
||||
}
|
||||
|
||||
open class C {
|
||||
protected val a: String = ""
|
||||
}
|
||||
|
||||
class Subject : C(), A {
|
||||
val c = a
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package test
|
||||
|
||||
trait A {
|
||||
protected val a: String
|
||||
}
|
||||
|
||||
trait B {
|
||||
protected val a: String
|
||||
}
|
||||
|
||||
open class C {
|
||||
private val a: String = ""
|
||||
}
|
||||
|
||||
class <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>Subject<!> : C(), A, B {
|
||||
val c = a
|
||||
}
|
||||
Reference in New Issue
Block a user