Move Fir*SourceElement to frontend.common, rename to Kt* (complete)

This commit is contained in:
Ilya Chernikov
2021-09-17 12:05:37 +02:00
parent c50c8ad270
commit a65beb2dc5
580 changed files with 2031 additions and 1950 deletions
@@ -5,6 +5,8 @@
package org.jetbrains.kotlin.fir
import org.jetbrains.kotlin.KtPsiSourceElement
import org.jetbrains.kotlin.KtSourceElement
import org.jetbrains.kotlin.diagnostics.DiagnosticUtils.getLineAndColumnInPsiFile
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.incremental.components.Position
@@ -15,18 +17,18 @@ import java.util.concurrent.ConcurrentHashMap
class IncrementalPassThroughLookupTrackerComponent(
private val lookupTracker: LookupTracker,
private val sourceToFilePath: (FirSourceElement) -> String
private val sourceToFilePath: (KtSourceElement) -> String
) : FirLookupTrackerComponent() {
private val requiresPosition = lookupTracker.requiresPosition
private val sourceToFilePathsCache = ConcurrentHashMap<FirSourceElement, String>()
private val sourceToFilePathsCache = ConcurrentHashMap<KtSourceElement, String>()
override fun recordLookup(name: Name, inScopes: List<String>, source: FirSourceElement?, fileSource: FirSourceElement?) {
override fun recordLookup(name: Name, inScopes: List<String>, source: KtSourceElement?, fileSource: KtSourceElement?) {
val definedSource = fileSource ?: source ?: throw AssertionError("Cannot record lookup for \"$name\" without a source")
val path = sourceToFilePathsCache.getOrPut(definedSource) {
sourceToFilePath(definedSource)
}
val position = if (requiresPosition && source != null && source is FirPsiSourceElement) {
val position = if (requiresPosition && source != null && source is KtPsiSourceElement) {
getLineAndColumnInPsiFile(source.psi.containingFile, source.psi.textRange).let { Position(it.line, it.column) }
} else Position.NO_POSITION
@@ -35,7 +37,7 @@ class IncrementalPassThroughLookupTrackerComponent(
}
}
override fun recordLookup(name: Name, inScope: String, source: FirSourceElement?, fileSource: FirSourceElement?) {
override fun recordLookup(name: Name, inScope: String, source: KtSourceElement?, fileSource: KtSourceElement?) {
recordLookup(name, SmartList(inScope), source, fileSource)
}
}
@@ -6,6 +6,8 @@
package org.jetbrains.kotlin.fir.session
import com.intellij.psi.PsiFile
import org.jetbrains.kotlin.KtPsiSourceElement
import org.jetbrains.kotlin.KtSourceElement
import org.jetbrains.kotlin.config.JvmAnalysisFlags
import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.fir.*
@@ -93,8 +95,8 @@ fun FirSession.registerResolveComponents(lookupTracker: LookupTracker? = null) {
register(FirNameConflictsTrackerComponent::class, FirNameConflictsTracker())
register(FirModuleVisibilityChecker::class, FirModuleVisibilityChecker.Standard(this))
if (lookupTracker != null) {
val firFileToPath: (FirSourceElement) -> String = {
val psiSource = (it as? FirPsiSourceElement) ?: TODO("Not implemented for non-FirPsiSourceElement")
val firFileToPath: (KtSourceElement) -> String = {
val psiSource = (it as? KtPsiSourceElement) ?: TODO("Not implemented for non-FirPsiSourceElement")
((psiSource.psi as? PsiFile) ?: psiSource.psi.containingFile).virtualFile.path
}
register(