[FIR IDE] Implement own fir light classes support
This commit is contained in:
@@ -8,9 +8,11 @@ package org.jetbrains.kotlin.asJava
|
||||
import com.intellij.openapi.components.ServiceManager
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.PsiClass
|
||||
import com.intellij.psi.PsiManager
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.asJava.classes.KtFakeLightClass
|
||||
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
@@ -56,6 +58,8 @@ abstract class KotlinAsJavaSupport {
|
||||
|
||||
abstract fun getFakeLightClass(classOrObject: KtClassOrObject): KtFakeLightClass
|
||||
|
||||
abstract fun createFacadeForSyntheticFile(facadeClassFqName: FqName, file: KtFile): PsiClass
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun getInstance(project: Project): KotlinAsJavaSupport {
|
||||
|
||||
+4
-4
@@ -282,15 +282,15 @@ open class KtLightClassForFacadeImpl constructor(
|
||||
}
|
||||
|
||||
fun createForSyntheticFile(
|
||||
manager: PsiManager,
|
||||
facadeClassFqName: FqName,
|
||||
file: KtFile
|
||||
): KtLightClassForFacade {
|
||||
val project = file.project
|
||||
// TODO: refactor, using cached value doesn't make sense for this case
|
||||
val cachedValue = CachedValuesManager.getManager(manager.project).createCachedValue(
|
||||
LightClassDataProviderForFileFacade.ByFile(manager.project, facadeClassFqName, file), false
|
||||
val cachedValue = CachedValuesManager.getManager(project).createCachedValue(
|
||||
LightClassDataProviderForFileFacade.ByFile(project, facadeClassFqName, file), false
|
||||
)
|
||||
return KtLightClassForFacadeImpl(manager, facadeClassFqName, cachedValue, listOf(file))
|
||||
return KtLightClassForFacadeImpl(PsiManager.getInstance(project), facadeClassFqName, cachedValue, listOf(file))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user