[LL FIR] refactoring, extract LLFirLibrarySymbolProviderFactory implementation to the standalone module
^KT-61371
This commit is contained in:
committed by
Space Team
parent
575c7ea0d9
commit
2422fc6df3
+43
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.analysis.api.standalone.base.project.structure
|
||||
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.LLFirLibrarySymbolProviderFactory
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.LLFirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.deserialization.SingleModuleDataProvider
|
||||
import org.jetbrains.kotlin.fir.java.FirJavaFacade
|
||||
import org.jetbrains.kotlin.fir.java.deserialization.JvmClassFileBasedSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
||||
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
|
||||
import org.jetbrains.kotlin.load.kotlin.VirtualFileFinderFactory
|
||||
|
||||
class LLFirStandaloneLibrarySymbolProviderFactory : LLFirLibrarySymbolProviderFactory() {
|
||||
override fun createJvmFirDeserializedSymbolProviders(
|
||||
project: Project,
|
||||
session: FirSession,
|
||||
moduleData: LLFirModuleData,
|
||||
kotlinScopeProvider: FirKotlinScopeProvider,
|
||||
moduleDataProvider: SingleModuleDataProvider,
|
||||
firJavaFacade: FirJavaFacade,
|
||||
packagePartProvider: PackagePartProvider,
|
||||
scope: GlobalSearchScope,
|
||||
): List<FirSymbolProvider> {
|
||||
return listOf(
|
||||
JvmClassFileBasedSymbolProvider(
|
||||
session,
|
||||
moduleDataProvider,
|
||||
kotlinScopeProvider,
|
||||
packagePartProvider,
|
||||
VirtualFileFinderFactory.getInstance(project).create(scope),
|
||||
firJavaFacade
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user