[AA] Add KtResolveExtensionInfoProvider to AA.

This provider is responsible for answering queries related to resolve
extensions. At the moment, this includes retrieving a KtScope with all REx
top-level declarations (moved from KtSymbolFromResolveExtensionProvider), and
retrieving information necessary to supply a GeneratedSourcesFilter for REx
generated code. Future REx-related functions can be added to this interface.

^KT-59329
This commit is contained in:
Justin Paupore
2023-06-14 23:57:38 -07:00
committed by Ilya Kirillov
parent fa0209a322
commit 9f85739599
24 changed files with 1133 additions and 81 deletions
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.multipl
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.psiTypeProvider.AbstractAnalysisApiExpressionPsiTypeProviderTest
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.psiTypeProvider.AbstractAnalysisApiPsiTypeProviderTest
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.referenceResolveProvider.AbstractIsImplicitCompanionReferenceTest
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.resolveExtensionInfoProvider.AbstractResolveExtensionInfoProviderTest
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.scopeProvider.*
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.signatureSubstitution.AbstractAnalysisApiSignatureContractsTest
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.signatureSubstitution.AbstractAnalysisApiSignatureSubstitutionTest
@@ -299,6 +300,12 @@ private fun AnalysisApiTestGroup.generateAnalysisApiComponentsTests() {
}
}
component("resolveExtensionInfoProvider", filter = frontendIs(FrontendKind.Fir)) {
test(AbstractResolveExtensionInfoProviderTest::class) {
model("extensionScopeWithPsi")
}
}
component("smartCastProvider") {
test(AbstractHLSmartCastInfoTest::class) {
model("smartCastInfo")