Implement members: implement functions in the same order as within Java interface
#KT-31760 Fixed
This commit is contained in:
committed by
Yan Zhulanow
parent
741ebeb7b8
commit
098469eb85
+1
-1
@@ -75,7 +75,7 @@ class LazyJavaClassMemberScope(
|
|||||||
override fun computeMemberIndex() = ClassDeclaredMemberIndex(jClass) { !it.isStatic }
|
override fun computeMemberIndex() = ClassDeclaredMemberIndex(jClass) { !it.isStatic }
|
||||||
|
|
||||||
override fun computeFunctionNames(kindFilter: DescriptorKindFilter, nameFilter: ((Name) -> Boolean)?) =
|
override fun computeFunctionNames(kindFilter: DescriptorKindFilter, nameFilter: ((Name) -> Boolean)?) =
|
||||||
ownerDescriptor.typeConstructor.supertypes.flatMapTo(hashSetOf()) {
|
ownerDescriptor.typeConstructor.supertypes.flatMapTo(linkedSetOf()) {
|
||||||
it.memberScope.getFunctionNames()
|
it.memberScope.getFunctionNames()
|
||||||
}.apply {
|
}.apply {
|
||||||
addAll(declaredMemberIndex().getMethodNames())
|
addAll(declaredMemberIndex().getMethodNames())
|
||||||
|
|||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class <caret>Impl : TestJavaInterface {
|
||||||
|
}
|
||||||
Vendored
+27
@@ -0,0 +1,27 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class Impl : TestJavaInterface {
|
||||||
|
override fun onTextEvent() {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onAttachmentEvent() {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onEventDeleted() {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onSeenReceipt() {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onDeliveredReceipt() {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onTypingEvent() {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
}
|
||||||
+15
@@ -0,0 +1,15 @@
|
|||||||
|
package foo;
|
||||||
|
|
||||||
|
public interface TestJavaInterface {
|
||||||
|
void onTextEvent();
|
||||||
|
|
||||||
|
void onAttachmentEvent();
|
||||||
|
|
||||||
|
void onEventDeleted();
|
||||||
|
|
||||||
|
void onSeenReceipt();
|
||||||
|
|
||||||
|
void onDeliveredReceipt();
|
||||||
|
|
||||||
|
void onTypingEvent();
|
||||||
|
}
|
||||||
@@ -63,6 +63,10 @@ abstract class AbstractOverrideImplementTest : KotlinLightCodeInsightFixtureTest
|
|||||||
doDirectoryTest(OverrideMembersHandler(), memberToImplement)
|
doDirectoryTest(OverrideMembersHandler(), memberToImplement)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected fun doMultiImplementDirectoryTest() {
|
||||||
|
doMultiDirectoryTest(ImplementMembersHandler())
|
||||||
|
}
|
||||||
|
|
||||||
protected fun doMultiOverrideDirectoryTest() {
|
protected fun doMultiOverrideDirectoryTest() {
|
||||||
doMultiDirectoryTest(OverrideMembersHandler())
|
doMultiDirectoryTest(OverrideMembersHandler())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,6 +45,10 @@ class OverrideImplementTest : AbstractOverrideImplementTest() {
|
|||||||
doImplementDirectoryTest()
|
doImplementDirectoryTest()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun testJavaInterfaceMethodInCorrectOrder() {
|
||||||
|
doMultiImplementDirectoryTest()
|
||||||
|
}
|
||||||
|
|
||||||
fun testJavaParameters() {
|
fun testJavaParameters() {
|
||||||
doImplementDirectoryTest()
|
doImplementDirectoryTest()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user