Drop some of explicit ClassKind.CLASS_OBJECT and OBJECT usages

This commit is contained in:
Pavel V. Talanov
2015-03-04 14:51:37 +03:00
parent fa590a5b83
commit 350864b22f
16 changed files with 43 additions and 38 deletions
@@ -62,6 +62,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.analyze
import org.jetbrains.kotlin.psi.psiUtil.getParentOfTypeAndBranch
import org.jetbrains.kotlin.idea.references.JetArrayAccessReference
import org.jetbrains.kotlin.idea.references.JetInvokeFunctionReference
import org.jetbrains.kotlin.resolve.DescriptorUtils
public object UsageTypeUtils {
public fun getUsageType(element: PsiElement?): UsageTypeEnum? {
@@ -229,9 +230,9 @@ public object UsageTypeUtils {
val descriptor = context[BindingContext.REFERENCE_TARGET, refExpr]
return when (descriptor) {
is ClassifierDescriptor -> when ((descriptor as? ClassDescriptor)?.getKind()) {
is ClassifierDescriptor -> when {
// Treat object accesses as variables to simulate the old behaviour (when variables were created for objects)
ClassKind.OBJECT, ClassKind.ENUM_ENTRY -> getVariableUsageType()
DescriptorUtils.isNonDefaultObject(descriptor), DescriptorUtils.isEnumEntry(descriptor) -> getVariableUsageType()
else -> getClassUsageType()
}
is PackageViewDescriptor -> {