Add analyzeFullyAndGetResult to ResolutionFacade

This commit is contained in:
Pavel V. Talanov
2014-11-20 18:57:52 +03:00
parent 63b402e93c
commit 3afdd8bd92
3 changed files with 8 additions and 1 deletions
@@ -60,6 +60,10 @@ public class KotlinCacheService(val project: Project) {
override fun resolveToDescriptor(declaration: JetDeclaration): DeclarationDescriptor { override fun resolveToDescriptor(declaration: JetDeclaration): DeclarationDescriptor {
return cache.getLazyResolveSession(declaration).resolveToDescriptor(declaration) return cache.getLazyResolveSession(declaration).resolveToDescriptor(declaration)
} }
override fun analyzeFullyAndGetResult(elements: Collection<JetElement>): AnalysisResult {
return cache.getAnalysisResultsForElements(elements)
}
} }
} }
@@ -21,11 +21,14 @@ import org.jetbrains.jet.lang.resolve.BindingContext
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor import org.jetbrains.jet.lang.descriptors.ModuleDescriptor
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor
import org.jetbrains.jet.lang.psi.JetDeclaration import org.jetbrains.jet.lang.psi.JetDeclaration
import org.jetbrains.jet.analyzer.AnalysisResult
public trait ResolutionFacade { public trait ResolutionFacade {
public fun analyze(element: JetElement): BindingContext public fun analyze(element: JetElement): BindingContext
public fun analyzeFullyAndGetResult(elements: Collection<JetElement>): AnalysisResult
public fun resolveToDescriptor(declaration: JetDeclaration): DeclarationDescriptor public fun resolveToDescriptor(declaration: JetDeclaration): DeclarationDescriptor
public fun findModuleDescriptor(element: JetElement): ModuleDescriptor public fun findModuleDescriptor(element: JetElement): ModuleDescriptor
@@ -50,5 +50,5 @@ public fun JetElement.analyzeFully(): BindingContext {
} }
public fun JetElement.analyzeFullyAndGetResult(vararg extraFiles: JetFile): AnalysisResult { public fun JetElement.analyzeFullyAndGetResult(vararg extraFiles: JetFile): AnalysisResult {
return KotlinCacheService.getInstance(getProject()).getAnalysisResults(listOf(this) + extraFiles.toList()) return KotlinCacheService.getInstance(getProject()).getResolutionFacade(listOf(this) + extraFiles.toList()).analyzeFullyAndGetResult(listOf(this))
} }