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) .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
View File
@@ -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" }