FIR IDE: introduce symbol provider

This commit is contained in:
Ilya Kirillov
2020-06-25 16:00:16 +03:00
parent 20b93507ab
commit 8a52954bf8
4 changed files with 116 additions and 28 deletions
@@ -7,14 +7,16 @@ package org.jetbrains.kotlin.idea.frontend.api
import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.diagnostics.Diagnostic
import org.jetbrains.kotlin.idea.frontend.api.symbols.*
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.psi.*
abstract class FrontendAnalysisSession(project: Project) : Invalidatable {
protected val validityToken = ReadActionConfinementValidityToken(project)
protected open val validityToken = ReadActionConfinementValidityToken(project)
override fun isValid(): Boolean = validityToken.isValid()
override fun invalidationReason(): String = validityToken.invalidationReason()
abstract val symbolProvider: KtSymbolProvider
abstract fun getSmartCastedToTypes(expression: KtExpression): Collection<TypeInfo>?