Drop CacheExtension
This commit is contained in:
@@ -21,11 +21,7 @@ import com.intellij.openapi.project.DumbService
|
|||||||
import com.intellij.openapi.project.IndexNotReadyException
|
import com.intellij.openapi.project.IndexNotReadyException
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.util.CachedValueProvider
|
|
||||||
import com.intellij.psi.util.CachedValuesManager
|
|
||||||
import com.intellij.psi.util.PsiModificationTracker
|
|
||||||
import com.intellij.psi.util.PsiTreeUtil
|
import com.intellij.psi.util.PsiTreeUtil
|
||||||
import com.intellij.util.containers.SLRUCache
|
|
||||||
import org.jetbrains.kotlin.analyzer.AnalysisResult
|
import org.jetbrains.kotlin.analyzer.AnalysisResult
|
||||||
import org.jetbrains.kotlin.asJava.LightClassUtil
|
import org.jetbrains.kotlin.asJava.LightClassUtil
|
||||||
import org.jetbrains.kotlin.container.ComponentProvider
|
import org.jetbrains.kotlin.container.ComponentProvider
|
||||||
@@ -44,12 +40,6 @@ import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
|||||||
import org.jetbrains.kotlin.resolve.lazy.ResolveSession
|
import org.jetbrains.kotlin.resolve.lazy.ResolveSession
|
||||||
import java.util.HashMap
|
import java.util.HashMap
|
||||||
|
|
||||||
public interface CacheExtension<T> {
|
|
||||||
public val platform: TargetPlatform
|
|
||||||
public fun getData(resolverProvider: ModuleResolverProvider): T
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private class PerFileAnalysisCache(val file: JetFile, val componentProvider: ComponentProvider) {
|
private class PerFileAnalysisCache(val file: JetFile, val componentProvider: ComponentProvider) {
|
||||||
private val cache = HashMap<PsiElement, AnalysisResult>()
|
private val cache = HashMap<PsiElement, AnalysisResult>()
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
|||||||
import org.jetbrains.kotlin.resolve.scopes.JetScope
|
import org.jetbrains.kotlin.resolve.scopes.JetScope
|
||||||
|
|
||||||
public interface ResolutionFacade {
|
public interface ResolutionFacade {
|
||||||
|
|
||||||
public fun analyze(element: JetElement, bodyResolveMode: BodyResolveMode = BodyResolveMode.FULL): BindingContext
|
public fun analyze(element: JetElement, bodyResolveMode: BodyResolveMode = BodyResolveMode.FULL): BindingContext
|
||||||
|
|
||||||
public fun analyzeFullyAndGetResult(elements: Collection<JetElement>): AnalysisResult
|
public fun analyzeFullyAndGetResult(elements: Collection<JetElement>): AnalysisResult
|
||||||
@@ -42,8 +41,6 @@ public interface ResolutionFacade {
|
|||||||
|
|
||||||
public fun findModuleDescriptor(element: JetElement): ModuleDescriptor
|
public fun findModuleDescriptor(element: JetElement): ModuleDescriptor
|
||||||
|
|
||||||
public fun <T> get(extension: CacheExtension<T>): T
|
|
||||||
|
|
||||||
public fun <T> getFrontendService(element: PsiElement, serviceClass: Class<T>): T
|
public fun <T> getFrontendService(element: PsiElement, serviceClass: Class<T>): T
|
||||||
|
|
||||||
public fun <T> getFrontendService(moduleDescriptor: ModuleDescriptor, serviceClass: Class<T>): T
|
public fun <T> getFrontendService(moduleDescriptor: ModuleDescriptor, serviceClass: Class<T>): T
|
||||||
|
|||||||
-2
@@ -42,8 +42,6 @@ private class ResolutionFacadeImpl(
|
|||||||
private val project: Project,
|
private val project: Project,
|
||||||
computeModuleResolverProvider: () -> CachedValueProvider.Result<ModuleResolverProvider>
|
computeModuleResolverProvider: () -> CachedValueProvider.Result<ModuleResolverProvider>
|
||||||
) : ResolutionFacade {
|
) : ResolutionFacade {
|
||||||
override fun <T> get(extension: CacheExtension<T>): T = error("TODO: support")
|
|
||||||
|
|
||||||
private val resolverCache = SynchronizedCachedValue(project, computeModuleResolverProvider, trackValue = false)
|
private val resolverCache = SynchronizedCachedValue(project, computeModuleResolverProvider, trackValue = false)
|
||||||
|
|
||||||
val moduleResolverProvider: ModuleResolverProvider
|
val moduleResolverProvider: ModuleResolverProvider
|
||||||
|
|||||||
Reference in New Issue
Block a user