Uast: resolveCallToDeclaration cleanup
This commit is contained in:
+1
-1
@@ -45,7 +45,7 @@ class KotlinUBinaryExpression(
|
||||
override val operatorIdentifier: UIdentifier?
|
||||
get() = KotlinUIdentifier(psi.operationReference.getReferencedNameElement(), this)
|
||||
|
||||
override fun resolveOperator() = psi.operationReference.resolveCallToDeclaration(context = this) as? PsiMethod
|
||||
override fun resolveOperator() = psi.operationReference.resolveCallToDeclaration() as? PsiMethod
|
||||
|
||||
override val operator = when (psi.operationToken) {
|
||||
KtTokens.EQ -> UastBinaryOperator.ASSIGN
|
||||
|
||||
+1
-1
@@ -48,7 +48,7 @@ class KotlinUCallableReferenceExpression(
|
||||
override val resolvedName: String?
|
||||
get() = (resolve() as? PsiNamedElement)?.name
|
||||
|
||||
override fun resolve() = psi.callableReference.resolveCallToDeclaration(this)
|
||||
override fun resolve() = psi.callableReference.resolveCallToDeclaration()
|
||||
|
||||
override fun multiResolve(): Iterable<ResolveResult> = getResolveResultVariants(psi.callableReference)
|
||||
|
||||
|
||||
+1
-1
@@ -45,5 +45,5 @@ class KotlinUCallableReferenceExpression(
|
||||
override val resolvedName: String?
|
||||
get() = (resolve() as? PsiNamedElement)?.name
|
||||
|
||||
override fun resolve() = psi.callableReference.resolveCallToDeclaration(this)
|
||||
override fun resolve() = psi.callableReference.resolveCallToDeclaration()
|
||||
}
|
||||
+1
-1
@@ -45,7 +45,7 @@ class KotlinUCallableReferenceExpression(
|
||||
override val resolvedName: String?
|
||||
get() = (resolve() as? PsiNamedElement)?.name
|
||||
|
||||
override fun resolve() = psi.callableReference.resolveCallToDeclaration(this)
|
||||
override fun resolve() = psi.callableReference.resolveCallToDeclaration()
|
||||
|
||||
override fun multiResolve(): Iterable<ResolveResult> = getResolveResultVariants(psi.callableReference)
|
||||
|
||||
|
||||
+2
-2
@@ -60,7 +60,7 @@ class KotlinUObjectLiteralExpression(
|
||||
psi.typeArguments.map { it.typeReference.toPsiType(this, boxed = true) }
|
||||
}
|
||||
|
||||
override fun resolve() = superClassConstructorCall?.resolveCallToDeclaration(this) as? PsiMethod
|
||||
override fun resolve() = superClassConstructorCall?.resolveCallToDeclaration() as? PsiMethod
|
||||
|
||||
override fun getArgumentForParameter(i: Int): UExpression? =
|
||||
superClassConstructorCall?.let { it.getResolvedCall(it.analyze()) }?.let { getArgumentExpressionByIndex(i, it, this) }
|
||||
@@ -73,7 +73,7 @@ class KotlinUObjectLiteralExpression(
|
||||
override val javaPsi = null
|
||||
override val sourcePsi = psi
|
||||
|
||||
override fun resolve() = (psi.resolveCallToDeclaration(this) as? PsiMethod)?.containingClass
|
||||
override fun resolve() = (psi.resolveCallToDeclaration() as? PsiMethod)?.containingClass
|
||||
|
||||
override val annotations: List<UAnnotation>
|
||||
get() = emptyList()
|
||||
|
||||
+1
-1
@@ -40,7 +40,7 @@ class KotlinUPostfixExpression(
|
||||
override val operatorIdentifier: UIdentifier?
|
||||
get() = KotlinUIdentifier(psi.operationReference, this)
|
||||
|
||||
override fun resolveOperator() = psi.operationReference.resolveCallToDeclaration(context = this) as? PsiMethod
|
||||
override fun resolveOperator() = psi.operationReference.resolveCallToDeclaration() as? PsiMethod
|
||||
|
||||
override fun resolve(): PsiMethod? = when (psi.operationToken) {
|
||||
KtTokens.EXCLEXCL -> operand.tryResolve() as? PsiMethod
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ class KotlinUPrefixExpression(
|
||||
override val operatorIdentifier: UIdentifier?
|
||||
get() = KotlinUIdentifier(psi.operationReference, this)
|
||||
|
||||
override fun resolveOperator() = psi.operationReference.resolveCallToDeclaration(context = this) as? PsiMethod
|
||||
override fun resolveOperator() = psi.operationReference.resolveCallToDeclaration() as? PsiMethod
|
||||
|
||||
override val operator = when (psi.operationToken) {
|
||||
KtTokens.EXCL -> UastPrefixOperator.LOGICAL_NOT
|
||||
|
||||
+2
-2
@@ -31,8 +31,8 @@ class KotlinUQualifiedReferenceExpression(
|
||||
override val receiver by lz { KotlinConverter.convertOrEmpty(psi.receiverExpression, this) }
|
||||
override val selector by lz { KotlinConverter.convertOrEmpty(psi.selectorExpression, this) }
|
||||
override val accessType = UastQualifiedExpressionAccessType.SIMPLE
|
||||
|
||||
override fun resolve() = psi.selectorExpression?.resolveCallToDeclaration(this)
|
||||
|
||||
override fun resolve() = psi.selectorExpression?.resolveCallToDeclaration()
|
||||
|
||||
override val resolvedName: String?
|
||||
get() = (resolve() as? PsiNamedElement)?.name
|
||||
|
||||
+2
-2
@@ -32,8 +32,8 @@ class KotlinUQualifiedReferenceExpression(
|
||||
override val receiver by lz { KotlinConverter.convertOrEmpty(psi.receiverExpression, this) }
|
||||
override val selector by lz { KotlinConverter.convertOrEmpty(psi.selectorExpression, this) }
|
||||
override val accessType = UastQualifiedExpressionAccessType.SIMPLE
|
||||
|
||||
override fun resolve() = psi.selectorExpression?.resolveCallToDeclaration(this)
|
||||
|
||||
override fun resolve() = psi.selectorExpression?.resolveCallToDeclaration()
|
||||
|
||||
override val resolvedName: String?
|
||||
get() = (resolve() as? PsiNamedElement)?.name
|
||||
|
||||
+2
-2
@@ -35,7 +35,7 @@ class KotlinUSafeQualifiedExpression(
|
||||
|
||||
override val resolvedName: String?
|
||||
get() = (resolve() as? PsiNamedElement)?.name
|
||||
|
||||
override fun resolve() = psi.selectorExpression?.resolveCallToDeclaration(this)
|
||||
|
||||
override fun resolve() = psi.selectorExpression?.resolveCallToDeclaration()
|
||||
override fun multiResolve(): Iterable<ResolveResult> = getResolveResultVariants(psi.selectorExpression)
|
||||
}
|
||||
+2
-2
@@ -32,6 +32,6 @@ class KotlinUSafeQualifiedExpression(
|
||||
|
||||
override val resolvedName: String?
|
||||
get() = (resolve() as? PsiNamedElement)?.name
|
||||
|
||||
override fun resolve() = psi.selectorExpression?.resolveCallToDeclaration(this)
|
||||
|
||||
override fun resolve() = psi.selectorExpression?.resolveCallToDeclaration()
|
||||
}
|
||||
+1
-1
@@ -43,7 +43,7 @@ open class KotlinUSimpleReferenceExpression(
|
||||
givenParent: UElement?
|
||||
) : KotlinAbstractUExpression(givenParent), USimpleNameReferenceExpression, KotlinUElementWithType, KotlinEvaluatableUElement {
|
||||
private val resolvedDeclaration: PsiElement? by lz {
|
||||
psi.resolveCallToDeclaration(this)?.let { return@lz it }
|
||||
psi.resolveCallToDeclaration()?.let { return@lz it }
|
||||
|
||||
val declarationDescriptor = psi.analyze()[BindingContext.REFERENCE_TARGET, psi] ?: return@lz null
|
||||
|
||||
|
||||
+1
-1
@@ -43,7 +43,7 @@ open class KotlinUSimpleReferenceExpression(
|
||||
givenParent: UElement?
|
||||
) : KotlinAbstractUExpression(givenParent), USimpleNameReferenceExpression, KotlinUElementWithType, KotlinEvaluatableUElement {
|
||||
private val resolvedDeclaration: PsiElement? by lz {
|
||||
psi.resolveCallToDeclaration(this)?.let { return@lz it }
|
||||
psi.resolveCallToDeclaration()?.let { return@lz it }
|
||||
|
||||
val declarationDescriptor = psi.analyze()[BindingContext.REFERENCE_TARGET, psi] ?: return@lz null
|
||||
|
||||
|
||||
+1
-4
@@ -280,10 +280,7 @@ internal fun PsiElement.getMaybeLightElement(): PsiElement? {
|
||||
}
|
||||
}
|
||||
|
||||
internal fun KtElement.resolveCallToDeclaration(
|
||||
context: KotlinAbstractUElement,
|
||||
resultingDescriptor: DeclarationDescriptor? = null
|
||||
): PsiElement? {
|
||||
internal fun KtElement.resolveCallToDeclaration(resultingDescriptor: DeclarationDescriptor? = null): PsiElement? {
|
||||
val descriptor = resultingDescriptor ?: run {
|
||||
val resolvedCall = getResolvedCall(analyze()) ?: return null
|
||||
resolvedCall.resultingDescriptor
|
||||
|
||||
Reference in New Issue
Block a user