Member functions of enum should not be in smart completion

This commit is contained in:
Valentin Kipyatkov
2016-03-31 20:32:04 +03:00
parent 9c6fed1622
commit 20ac76fe3a
2 changed files with 10 additions and 5 deletions
@@ -105,9 +105,12 @@ class StaticMembers(
.forEach(::processMember)
}
var members = classDescriptor.defaultType.memberScope.getContributedDescriptors()
if (classDescriptor.kind != ClassKind.ENUM_CLASS && classDescriptor.kind != ClassKind.OBJECT) {
members = members.filter { DescriptorUtils.isNonCompanionObject(it) }
val members = classDescriptor.defaultType.memberScope.getContributedDescriptors().filter { member ->
when (classDescriptor.kind) {
ClassKind.ENUM_CLASS -> member is ClassDescriptor // enum member
ClassKind.OBJECT -> true
else -> DescriptorUtils.isNonCompanionObject(member)
}
}
members.forEach(::processMember)
}
+4 -2
View File
@@ -1,8 +1,9 @@
package sample
enum class Foo {
X,
Y
X, Y;
fun foo(): Foo = this
}
fun foo(){
@@ -11,3 +12,4 @@ fun foo(){
// EXIST: { lookupString:"X", itemText:"Foo.X", tailText:" (sample)", typeText:"Foo" }
// EXIST: { lookupString:"Y", itemText:"Foo.Y", tailText:" (sample)", typeText:"Foo" }
// ABSENT: { itemText:"Foo.foo" }