From db886a0435f6c273e5bb9a0673c8dede2aa3039c Mon Sep 17 00:00:00 2001 From: Roman Efremov Date: Tue, 10 Oct 2023 15:03:10 +0200 Subject: [PATCH] [K2] Make impl classes in `SourceNavigator` private to prevent ...accidental use of tree-specific implementation instead of common one. Actually, I stepped on this rake myself in next commit, when accidentally imported function from `PsiSourceNavigator`. ^KT-59978 --- .../jetbrains/kotlin/fir/analysis/checkers/SourceNavigator.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/SourceNavigator.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/SourceNavigator.kt index fd18b831ab4..51eb6f62329 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/SourceNavigator.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/SourceNavigator.kt @@ -57,7 +57,7 @@ interface SourceNavigator { } } -open class LightTreeSourceNavigator : SourceNavigator { +private open class LightTreeSourceNavigator : SourceNavigator { private fun FirElement.withSource(f: (KtSourceElement) -> T): T? = source?.let { f(it) } @@ -111,7 +111,7 @@ open class LightTreeSourceNavigator : SourceNavigator { } //by default psi tree can reuse light tree manipulations -object PsiSourceNavigator : LightTreeSourceNavigator() { +private object PsiSourceNavigator : LightTreeSourceNavigator() { //Swallows incorrect casts!!! private inline fun FirElement.psi(): P? = source?.psi()