Drop QualifierReceiver::resultingDescriptor. Use REFERENCE_TARGET.
This commit is contained in:
+2
-2
@@ -45,7 +45,7 @@ public object CreateClassFromConstructorCallActionFactory: CreateClassFromUsageF
|
||||
val (context, moduleDescriptor) = element.analyzeFullyAndGetResult()
|
||||
val file = element.containingFile as? KtFile ?: return emptyList()
|
||||
val call = element.getCall(context) ?: return emptyList()
|
||||
val targetParent = getTargetParentByCall(call, file) ?: return emptyList()
|
||||
val targetParent = getTargetParentByCall(call, file, context) ?: return emptyList()
|
||||
|
||||
val classKind = if (inAnnotationEntry) ClassKind.ANNOTATION_CLASS else ClassKind.PLAIN_CLASS
|
||||
val fullCallExpr = element.getQualifiedExpressionForSelectorOrThis()
|
||||
@@ -77,7 +77,7 @@ public object CreateClassFromConstructorCallActionFactory: CreateClassFromUsageF
|
||||
val (context, moduleDescriptor) = callExpr.analyzeFullyAndGetResult()
|
||||
|
||||
val call = callExpr.getCall(context) ?: return null
|
||||
val targetParent = getTargetParentByCall(call, file) ?: return null
|
||||
val targetParent = getTargetParentByCall(call, file, context) ?: return null
|
||||
val inner = isInnerClassExpected(call)
|
||||
|
||||
val valueArguments = callExpr.valueArguments
|
||||
|
||||
+2
-2
@@ -96,7 +96,7 @@ public object CreateClassFromReferenceExpressionActionFactory : CreateClassFromU
|
||||
if (fullCallExpr.getAssignmentByLHS() != null) return Collections.emptyList()
|
||||
|
||||
val call = element.getCall(context) ?: return Collections.emptyList()
|
||||
val targetParent = getTargetParentByCall(call, file) ?: return Collections.emptyList()
|
||||
val targetParent = getTargetParentByCall(call, file, context) ?: return Collections.emptyList()
|
||||
if (isInnerClassExpected(call)) return Collections.emptyList()
|
||||
|
||||
val filter = fullCallExpr.getInheritableTypeInfo(context, moduleDescriptor, targetParent).second
|
||||
@@ -136,7 +136,7 @@ public object CreateClassFromReferenceExpressionActionFactory : CreateClassFromU
|
||||
}
|
||||
|
||||
val call = element.getCall(context) ?: return null
|
||||
val targetParent = getTargetParentByCall(call, file) ?: return null
|
||||
val targetParent = getTargetParentByCall(call, file, context) ?: return null
|
||||
|
||||
val expectedTypeInfo = fullCallExpr.getInheritableTypeInfo(context, moduleDescriptor, targetParent).first
|
||||
|
||||
|
||||
+2
-2
@@ -68,11 +68,11 @@ internal fun getTargetParentByQualifier(
|
||||
return if (targetParent.canRefactor()) return targetParent else null
|
||||
}
|
||||
|
||||
internal fun getTargetParentByCall(call: Call, file: KtFile): PsiElement? {
|
||||
internal fun getTargetParentByCall(call: Call, file: KtFile, context: BindingContext): PsiElement? {
|
||||
val receiver = call.getExplicitReceiver()
|
||||
return when (receiver) {
|
||||
ReceiverValue.NO_RECEIVER -> getTargetParentByQualifier(file, false, null)
|
||||
is Qualifier -> getTargetParentByQualifier(file, true, receiver.resultingDescriptor)
|
||||
is Qualifier -> getTargetParentByQualifier(file, true, context[BindingContext.REFERENCE_TARGET, receiver.referenceExpression])
|
||||
is ReceiverValue -> getTargetParentByQualifier(file, true, receiver.getType().getConstructor().getDeclarationDescriptor())
|
||||
else -> throw AssertionError("Unexpected receiver: $receiver")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user