Misc: Support light-methodless members in overrider search

In particular, support line markers for expect-class members
and navigation to expect-class members from corresponding base members
This commit is contained in:
Alexey Sedunov
2017-09-27 13:29:58 +03:00
parent 17abce2811
commit 4cc1e22a5a
22 changed files with 292 additions and 86 deletions
@@ -1,9 +1,21 @@
package test
open class <lineMarker>SimpleParent</lineMarker>
open class <lineMarker>SimpleParent</lineMarker> {
open fun <lineMarker>foo</lineMarker>(n: Int) {}
open val <lineMarker>bar</lineMarker>: Int get() = 1
}
expect open class <lineMarker><lineMarker>ExpectedChild</lineMarker></lineMarker> : SimpleParent
expect open class <lineMarker><lineMarker>ExpectedChild</lineMarker></lineMarker> : SimpleParent {
override fun <lineMarker><lineMarker>foo</lineMarker></lineMarker>(n: Int)
override val <lineMarker><lineMarker>bar</lineMarker></lineMarker>: Int
}
class ExpectedChildChild : ExpectedChild()
class ExpectedChildChild : ExpectedChild() {
override fun <lineMarker>foo</lineMarker>(n: Int) {}
override val <lineMarker>bar</lineMarker>: Int get() = 1
}
class SimpleChild : SimpleParent()
class SimpleChild : SimpleParent() {
override fun <lineMarker>foo</lineMarker>(n: Int) {}
override val <lineMarker>bar</lineMarker>: Int get() = 1
}
@@ -2,6 +2,12 @@
package test
actual open class ExpectedChild : SimpleParent()
actual open class ExpectedChild : SimpleParent() {
actual override fun foo(n: Int) {}
actual override val bar: Int get() = 1
}
class ExpectedChildChildJvm : ExpectedChild()
class ExpectedChildChildJvm : ExpectedChild() {
override fun foo(n: Int) {}
override val bar: Int get() = 1
}