FIR IDE: cache KtAnalysisSession for modules

This commit is contained in:
Ilya Kirillov
2020-07-06 16:30:15 +03:00
parent 8c0197e081
commit 15ecfd84b4
3 changed files with 21 additions and 4 deletions
@@ -14,7 +14,7 @@ abstract class KtAnalysisSessionProvider {
}
fun getAnalysisSessionFor(contextElement: KtElement): KtAnalysisSession =
service<KtAnalysisSessionProvider>().getAnalysisSessionFor(contextElement)
contextElement.project.service<KtAnalysisSessionProvider>().getAnalysisSessionFor(contextElement)
inline fun <R> analyze(contextElement: KtElement, action: KtAnalysisSession.() -> R): R =
getAnalysisSessionFor(contextElement).action()