[FIR] Get rid of FirProvider.getInstance
This commit is contained in:
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fir.resolve
|
package org.jetbrains.kotlin.fir.resolve
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirClassLikeDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirClassLikeDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||||
@@ -41,9 +40,5 @@ abstract class FirProvider : FirSymbolProvider() {
|
|||||||
|
|
||||||
abstract fun getFirCallableContainerFile(symbol: FirCallableSymbol<*>): FirFile?
|
abstract fun getFirCallableContainerFile(symbol: FirCallableSymbol<*>): FirFile?
|
||||||
|
|
||||||
companion object {
|
|
||||||
fun getInstance(session: FirSession): FirProvider = session.firProvider
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract fun getFirFilesByPackage(fqName: FqName): List<FirFile>
|
abstract fun getFirFilesByPackage(fqName: FqName): List<FirFile>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,10 +13,7 @@ import org.jetbrains.kotlin.fir.declarations.*
|
|||||||
import org.jetbrains.kotlin.fir.psi
|
import org.jetbrains.kotlin.fir.psi
|
||||||
import org.jetbrains.kotlin.fir.references.*
|
import org.jetbrains.kotlin.fir.references.*
|
||||||
import org.jetbrains.kotlin.fir.render
|
import org.jetbrains.kotlin.fir.render
|
||||||
import org.jetbrains.kotlin.fir.resolve.FirProvider
|
import org.jetbrains.kotlin.fir.resolve.*
|
||||||
import org.jetbrains.kotlin.fir.resolve.ResolutionMode
|
|
||||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
|
||||||
import org.jetbrains.kotlin.fir.resolve.getClassDeclaredCallableSymbols
|
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer
|
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.createReturnTypeCalculatorForIDE
|
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.createReturnTypeCalculatorForIDE
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.runResolve
|
import org.jetbrains.kotlin.fir.resolve.transformers.runResolve
|
||||||
@@ -84,7 +81,7 @@ fun KtCallableDeclaration.getOrBuildFir(
|
|||||||
val klassFqName = this.containingClassOrObject?.relativeFqName()
|
val klassFqName = this.containingClassOrObject?.relativeFqName()
|
||||||
val declName = this.nameAsSafeName
|
val declName = this.nameAsSafeName
|
||||||
|
|
||||||
val firProvider = FirProvider.getInstance(session) as FirIdeProvider
|
val firProvider = session.firProvider as FirIdeProvider
|
||||||
val firFile = firProvider.getOrBuildFile(file)
|
val firFile = firProvider.getOrBuildFile(file)
|
||||||
val firMemberSymbol = firFile.findCallableMember(firProvider, this, packageFqName, klassFqName, declName).symbol
|
val firMemberSymbol = firFile.findCallableMember(firProvider, this, packageFqName, klassFqName, declName).symbol
|
||||||
val firMemberDeclaration = firMemberSymbol.fir
|
val firMemberDeclaration = firMemberSymbol.fir
|
||||||
@@ -107,7 +104,7 @@ fun KtClassOrObject.getOrBuildFir(
|
|||||||
val packageFqName = file.packageFqName
|
val packageFqName = file.packageFqName
|
||||||
val klassFqName = this.relativeFqName()
|
val klassFqName = this.relativeFqName()
|
||||||
|
|
||||||
val firProvider = FirProvider.getInstance(session) as FirIdeProvider
|
val firProvider = session.firProvider as FirIdeProvider
|
||||||
val firFile = firProvider.getOrBuildFile(file)
|
val firFile = firProvider.getOrBuildFile(file)
|
||||||
|
|
||||||
val firClassOrEnumEntry = if (this is KtEnumEntry) {
|
val firClassOrEnumEntry = if (this is KtEnumEntry) {
|
||||||
@@ -127,7 +124,7 @@ fun KtClassOrObject.getOrBuildFir(
|
|||||||
|
|
||||||
private fun KtFile.getOrBuildRawFirFile(state: FirModuleResolveState): Pair<FirIdeProvider, FirFile> {
|
private fun KtFile.getOrBuildRawFirFile(state: FirModuleResolveState): Pair<FirIdeProvider, FirFile> {
|
||||||
val session = state.getSession(this)
|
val session = state.getSession(this)
|
||||||
val firProvider = FirProvider.getInstance(session) as FirIdeProvider
|
val firProvider = session.firProvider as FirIdeProvider
|
||||||
return firProvider to firProvider.getOrBuildFile(this)
|
return firProvider to firProvider.getOrBuildFile(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import junit.framework.TestCase
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirResolvedImport
|
import org.jetbrains.kotlin.fir.declarations.FirResolvedImport
|
||||||
import org.jetbrains.kotlin.fir.render
|
import org.jetbrains.kotlin.fir.render
|
||||||
import org.jetbrains.kotlin.fir.resolve.FirProvider
|
import org.jetbrains.kotlin.fir.resolve.FirProvider
|
||||||
|
import org.jetbrains.kotlin.fir.resolve.firProvider
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
import org.jetbrains.kotlin.idea.caches.project.IdeaModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.IdeaModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.project.productionSourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.productionSourceInfo
|
||||||
@@ -101,7 +102,7 @@ abstract class AbstractFirLazyResolveTest : KotlinLightCodeInsightFixtureTestCas
|
|||||||
for (file in files) {
|
for (file in files) {
|
||||||
val psiFile = psiManager.findFile(file) as KtFile
|
val psiFile = psiManager.findFile(file) as KtFile
|
||||||
val session = resolveState.getSession(psiFile)
|
val session = resolveState.getSession(psiFile)
|
||||||
val firProvider = FirProvider.getInstance(session) as FirIdeProvider
|
val firProvider = session.firProvider as FirIdeProvider
|
||||||
val firFile = firProvider.getFile(psiFile) ?: continue
|
val firFile = firProvider.getFile(psiFile) ?: continue
|
||||||
KotlinTestUtils.assertEqualsToFile(File(expectedTxtPath(file)), firFile.render())
|
KotlinTestUtils.assertEqualsToFile(File(expectedTxtPath(file)), firFile.render())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user