KT-59093 [Analysis API] Remove unnecessary resolveCall overloads from KtCallResolverMixIn
^KT-58161 Fixed
This commit is contained in:
+1
-8
@@ -27,16 +27,9 @@ abstract class AbstractMultiModuleResolveCallTest : AbstractAnalysisApiBasedTest
|
|||||||
|
|
||||||
val actual = executeOnPooledThreadInReadAction {
|
val actual = executeOnPooledThreadInReadAction {
|
||||||
analyseForTest(expression) {
|
analyseForTest(expression) {
|
||||||
resolveCall(expression)?.let { stringRepresentation(it) }
|
expression.resolveCall()?.let { stringRepresentation(it) }
|
||||||
}
|
}
|
||||||
} ?: "null"
|
} ?: "null"
|
||||||
testServices.assertions.assertEqualsToTestDataFileSibling(actual)
|
testServices.assertions.assertEqualsToTestDataFileSibling(actual)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun KtAnalysisSession.resolveCall(element: PsiElement): KtCallInfo? = when (element) {
|
|
||||||
is KtCallElement -> element.resolveCall()
|
|
||||||
is KtElement -> element.resolveCall()
|
|
||||||
else -> error("Selected element type (${element::class.simpleName}) is not supported for resolveCall()")
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-4
@@ -30,7 +30,7 @@ abstract class AbstractResolveCallTest : AbstractAnalysisApiBasedSingleModuleTes
|
|||||||
testServices.assertions.assertEqualsToTestDataFileSibling(actual)
|
testServices.assertions.assertEqualsToTestDataFileSibling(actual)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun KtAnalysisSession.resolveCall(element: PsiElement): KtCallInfo? = when (element) {
|
private fun KtAnalysisSession.resolveCall(element: KtElement): KtCallInfo? = when (element) {
|
||||||
is KtValueArgument -> element.getArgumentExpression()?.resolveCall()
|
is KtValueArgument -> element.getArgumentExpression()?.resolveCall()
|
||||||
is KtDeclarationModifierList -> {
|
is KtDeclarationModifierList -> {
|
||||||
val annotationEntry = element.annotationEntries.singleOrNull()
|
val annotationEntry = element.annotationEntries.singleOrNull()
|
||||||
@@ -42,9 +42,7 @@ abstract class AbstractResolveCallTest : AbstractAnalysisApiBasedSingleModuleTes
|
|||||||
?: error("Only single annotation entry is supported for now")
|
?: error("Only single annotation entry is supported for now")
|
||||||
annotationEntry.resolveCall()
|
annotationEntry.resolveCall()
|
||||||
}
|
}
|
||||||
is KtCallElement -> element.resolveCall()
|
else -> element.resolveCall()
|
||||||
is KtElement -> element.resolveCall()
|
|
||||||
else -> error("Selected element type (${element::class.simpleName}) is not supported for resolveCall()")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
-16
@@ -9,10 +9,7 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals
|
|||||||
import org.jetbrains.kotlin.analysis.api.calls.KtCallCandidateInfo
|
import org.jetbrains.kotlin.analysis.api.calls.KtCallCandidateInfo
|
||||||
import org.jetbrains.kotlin.analysis.api.calls.KtCallInfo
|
import org.jetbrains.kotlin.analysis.api.calls.KtCallInfo
|
||||||
import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion
|
import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion
|
||||||
import org.jetbrains.kotlin.psi.KtArrayAccessExpression
|
|
||||||
import org.jetbrains.kotlin.psi.KtCallElement
|
|
||||||
import org.jetbrains.kotlin.psi.KtElement
|
import org.jetbrains.kotlin.psi.KtElement
|
||||||
import org.jetbrains.kotlin.psi.KtUnaryExpression
|
|
||||||
|
|
||||||
public abstract class KtCallResolver : KtAnalysisSessionComponent() {
|
public abstract class KtCallResolver : KtAnalysisSessionComponent() {
|
||||||
public abstract fun resolveCall(psi: KtElement): KtCallInfo?
|
public abstract fun resolveCall(psi: KtElement): KtCallInfo?
|
||||||
@@ -26,19 +23,6 @@ public interface KtCallResolverMixIn : KtAnalysisSessionMixIn {
|
|||||||
public fun KtElement.resolveCall(): KtCallInfo? =
|
public fun KtElement.resolveCall(): KtCallInfo? =
|
||||||
withValidityAssertion { analysisSession.callResolver.resolveCall(this) }
|
withValidityAssertion { analysisSession.callResolver.resolveCall(this) }
|
||||||
|
|
||||||
public fun KtCallElement.resolveCall(): KtCallInfo? = withValidityAssertion {
|
|
||||||
analysisSession.callResolver.resolveCall(this)
|
|
||||||
}
|
|
||||||
|
|
||||||
public fun KtUnaryExpression.resolveCall(): KtCallInfo? = withValidityAssertion {
|
|
||||||
analysisSession.callResolver.resolveCall(this)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public fun KtArrayAccessExpression.resolveCall(): KtCallInfo? = withValidityAssertion {
|
|
||||||
analysisSession.callResolver.resolveCall(this)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns all the candidates considered during [overload resolution](https://kotlinlang.org/spec/overload-resolution.html) for the call
|
* Returns all the candidates considered during [overload resolution](https://kotlinlang.org/spec/overload-resolution.html) for the call
|
||||||
* corresponding to this [KtElement].
|
* corresponding to this [KtElement].
|
||||||
|
|||||||
Reference in New Issue
Block a user