Member functions of enum should not be in smart completion
This commit is contained in:
+6
-3
@@ -105,9 +105,12 @@ class StaticMembers(
|
|||||||
.forEach(::processMember)
|
.forEach(::processMember)
|
||||||
}
|
}
|
||||||
|
|
||||||
var members = classDescriptor.defaultType.memberScope.getContributedDescriptors()
|
val members = classDescriptor.defaultType.memberScope.getContributedDescriptors().filter { member ->
|
||||||
if (classDescriptor.kind != ClassKind.ENUM_CLASS && classDescriptor.kind != ClassKind.OBJECT) {
|
when (classDescriptor.kind) {
|
||||||
members = members.filter { DescriptorUtils.isNonCompanionObject(it) }
|
ClassKind.ENUM_CLASS -> member is ClassDescriptor // enum member
|
||||||
|
ClassKind.OBJECT -> true
|
||||||
|
else -> DescriptorUtils.isNonCompanionObject(member)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
members.forEach(::processMember)
|
members.forEach(::processMember)
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-2
@@ -1,8 +1,9 @@
|
|||||||
package sample
|
package sample
|
||||||
|
|
||||||
enum class Foo {
|
enum class Foo {
|
||||||
X,
|
X, Y;
|
||||||
Y
|
|
||||||
|
fun foo(): Foo = this
|
||||||
}
|
}
|
||||||
|
|
||||||
fun foo(){
|
fun foo(){
|
||||||
@@ -11,3 +12,4 @@ fun foo(){
|
|||||||
|
|
||||||
// EXIST: { lookupString:"X", itemText:"Foo.X", tailText:" (sample)", typeText:"Foo" }
|
// EXIST: { lookupString:"X", itemText:"Foo.X", tailText:" (sample)", typeText:"Foo" }
|
||||||
// EXIST: { lookupString:"Y", itemText:"Foo.Y", tailText:" (sample)", typeText:"Foo" }
|
// EXIST: { lookupString:"Y", itemText:"Foo.Y", tailText:" (sample)", typeText:"Foo" }
|
||||||
|
// ABSENT: { itemText:"Foo.foo" }
|
||||||
|
|||||||
Reference in New Issue
Block a user