[FIR] Replace deprecation on transformer adapters with opt in annotation

This commit is contained in:
Dmitriy Novozhilov
2020-04-09 13:50:12 +03:00
parent eef9b87047
commit 258bc62bac
5 changed files with 10 additions and 4 deletions
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.FirTransformer
import org.jetbrains.kotlin.fir.visitors.compose
import org.jetbrains.kotlin.fir.visitors.transformSingle
@Deprecated("Should be used just once from createTransformerByPhase", level = DeprecationLevel.WARNING)
@AdapterForResolvePhase
class FirStatusResolveTransformerAdapter : FirTransformer<Nothing?>() {
override fun <E : FirElement> transformElement(element: E, data: Nothing?): CompositeTransformResult<E> {
error("Should not be called for ${element::class}, only for files")
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.fir.visitors.CompositeTransformResult
import org.jetbrains.kotlin.fir.visitors.FirTransformer
import org.jetbrains.kotlin.fir.visitors.compose
@Deprecated("Should be used just once from createTransformerByPhase", level = DeprecationLevel.WARNING)
@AdapterForResolvePhase
class FirTypeResolveTransformerAdapter(
private val scopeSession: ScopeSession
) : FirTransformer<Nothing?>() {
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirImplicitTyp
import org.jetbrains.kotlin.fir.visitors.FirTransformer
// TODO: add FirSession parameter
@OptIn(AdapterForResolvePhase::class)
fun FirResolvePhase.createTransformerByPhase(scopeSession: ScopeSession): FirTransformer<Nothing?> {
return when (this) {
RAW_FIR -> throw AssertionError("Raw FIR building phase does not have a transformer")
@@ -25,3 +26,6 @@ fun FirResolvePhase.createTransformerByPhase(scopeSession: ScopeSession): FirTra
BODY_RESOLVE -> FirBodyResolveTransformerAdapter(scopeSession)
}
}
@RequiresOptIn(message = "Should be used just once from createTransformerByPhase")
annotation class AdapterForResolvePhase
@@ -10,11 +10,12 @@ import org.jetbrains.kotlin.fir.declarations.FirFile
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.resolve.ResolutionMode
import org.jetbrains.kotlin.fir.resolve.ScopeSession
import org.jetbrains.kotlin.fir.resolve.transformers.AdapterForResolvePhase
import org.jetbrains.kotlin.fir.visitors.CompositeTransformResult
import org.jetbrains.kotlin.fir.visitors.FirTransformer
import org.jetbrains.kotlin.fir.visitors.compose
@Deprecated("It is temp", level = DeprecationLevel.WARNING, replaceWith = ReplaceWith("TODO(\"что-то нормальное\")"))
@AdapterForResolvePhase
class FirBodyResolveTransformerAdapter(private val scopeSession: ScopeSession) : FirTransformer<Nothing?>() {
override fun <E : FirElement> transformElement(element: E, data: Nothing?): CompositeTransformResult<E> {
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.fir.render
import org.jetbrains.kotlin.fir.resolve.ResolutionMode
import org.jetbrains.kotlin.fir.resolve.ScopeSession
import org.jetbrains.kotlin.fir.resolve.firProvider
import org.jetbrains.kotlin.fir.resolve.transformers.AdapterForResolvePhase
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculator
import org.jetbrains.kotlin.fir.resolve.transformers.TransformImplicitType
import org.jetbrains.kotlin.fir.symbols.impl.FirAccessorSymbol
@@ -28,7 +29,7 @@ import org.jetbrains.kotlin.fir.visitors.CompositeTransformResult
import org.jetbrains.kotlin.fir.visitors.FirTransformer
import org.jetbrains.kotlin.fir.visitors.compose
@Deprecated("It is temp", level = DeprecationLevel.WARNING, replaceWith = ReplaceWith("TODO(\"что-то нормальное\")"))
@AdapterForResolvePhase
class FirImplicitTypeBodyResolveTransformerAdapter(private val scopeSession: ScopeSession) : FirTransformer<Nothing?>() {
private val implicitBodyResolveComputationSession = ImplicitBodyResolveComputationSession()