Minor: refactoring createClassUtils.kt
This commit is contained in:
+8
-5
@@ -43,7 +43,6 @@ import org.jetbrains.kotlin.resolve.scopes.receivers.Qualifier
|
|||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
|
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
|
||||||
import org.jetbrains.kotlin.types.*
|
import org.jetbrains.kotlin.types.*
|
||||||
import org.jetbrains.kotlin.types.substitutions.getTypeSubstitution
|
import org.jetbrains.kotlin.types.substitutions.getTypeSubstitution
|
||||||
import java.lang.AssertionError
|
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import org.jetbrains.kotlin.descriptors.ClassKind as ClassDescriptorKind
|
import org.jetbrains.kotlin.descriptors.ClassKind as ClassDescriptorKind
|
||||||
|
|
||||||
@@ -66,8 +65,7 @@ internal fun getTargetParentsByQualifier(
|
|||||||
qualifierDescriptor is PackageViewDescriptor ->
|
qualifierDescriptor is PackageViewDescriptor ->
|
||||||
if (qualifierDescriptor.fqName != file.packageFqName) {
|
if (qualifierDescriptor.fqName != file.packageFqName) {
|
||||||
listOfNotNull(JavaPsiFacade.getInstance(project).findPackage(qualifierDescriptor.fqName.asString()))
|
listOfNotNull(JavaPsiFacade.getInstance(project).findPackage(qualifierDescriptor.fqName.asString()))
|
||||||
}
|
} else listOf(file)
|
||||||
else listOf(file)
|
|
||||||
else ->
|
else ->
|
||||||
emptyList()
|
emptyList()
|
||||||
}
|
}
|
||||||
@@ -79,7 +77,11 @@ internal fun getTargetParentsByCall(call: Call, context: BindingContext): List<P
|
|||||||
val receiver = call.explicitReceiver
|
val receiver = call.explicitReceiver
|
||||||
return when (receiver) {
|
return when (receiver) {
|
||||||
null -> getTargetParentsByQualifier(callElement, false, null)
|
null -> getTargetParentsByQualifier(callElement, false, null)
|
||||||
is Qualifier -> getTargetParentsByQualifier(callElement, true, context[BindingContext.REFERENCE_TARGET, receiver.referenceExpression])
|
is Qualifier -> getTargetParentsByQualifier(
|
||||||
|
callElement,
|
||||||
|
true,
|
||||||
|
context[BindingContext.REFERENCE_TARGET, receiver.referenceExpression]
|
||||||
|
)
|
||||||
is ReceiverValue -> getTargetParentsByQualifier(callElement, true, receiver.type.constructor.declarationDescriptor)
|
is ReceiverValue -> getTargetParentsByQualifier(callElement, true, receiver.type.constructor.declarationDescriptor)
|
||||||
else -> throw AssertionError("Unexpected receiver: $receiver")
|
else -> throw AssertionError("Unexpected receiver: $receiver")
|
||||||
}
|
}
|
||||||
@@ -101,7 +103,8 @@ internal fun getClassKindFilter(expectedType: KotlinType, containingDeclaration:
|
|||||||
val isEnum = DescriptorUtils.isEnumClass(descriptor)
|
val isEnum = DescriptorUtils.isEnumClass(descriptor)
|
||||||
|
|
||||||
if (!(canHaveSubtypes || isEnum)
|
if (!(canHaveSubtypes || isEnum)
|
||||||
|| descriptor is TypeParameterDescriptor) return { _ -> false }
|
|| descriptor is TypeParameterDescriptor
|
||||||
|
) return { _ -> false }
|
||||||
|
|
||||||
return { classKind ->
|
return { classKind ->
|
||||||
when (classKind) {
|
when (classKind) {
|
||||||
|
|||||||
Reference in New Issue
Block a user