Override/Implement Members: Implement Members: Fix base member detection when abstract and non-abstract members with matching signatures are inherited from an interface

#KT-11115 Fixed
(cherry picked from commit a3a2e57)

GitOrigin-RevId: bbb925540148d4e12afc0f8e107e68a185448c92
This commit is contained in:
Alexey Sedunov
2016-07-20 15:39:01 +03:00
committed by intellij-monorepo-bot
parent 9dbdb28bba
commit 39c6d75fdd
3 changed files with 28 additions and 0 deletions
@@ -247,4 +247,8 @@ class OverrideImplementTest : AbstractOverrideImplementTest() {
fun testPlatformTypes() {
doOverrideDirectoryTest("foo")
}
fun testAbstractAndNonAbstractInheritedFromInterface() {
doImplementFileTest("getFoo")
}
}
@@ -0,0 +1,11 @@
interface T {
fun getFoo(): String = ""
}
interface U {
fun getFoo(): String
}
class C1 : T, U {
<caret>
}
@@ -0,0 +1,13 @@
interface T {
fun getFoo(): String = ""
}
interface U {
fun getFoo(): String
}
class C1 : T, U {
override fun getFoo(): String {
<selection><caret>TODO("not implemented") //To change body of created functions use File | Settings | File Templates.</selection>
}
}