FirRenderer: partially get rid of RenderMode
This commit is contained in:
+4
-4
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.realPsi
|
||||
import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.fir.renderer.FirDeclarationRendererWithAttributesAndResolvePhase
|
||||
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.visitors.FirVisitorVoid
|
||||
@@ -51,8 +51,8 @@ abstract class AbstractFirLazyDeclarationResolveTest : AbstractLowLevelApiSingle
|
||||
}
|
||||
|
||||
override fun doTestByFileStructure(ktFile: KtFile, moduleStructure: TestModuleStructure, testServices: TestServices) {
|
||||
val rendererOption = FirRenderer.RenderMode.WithDeclarationAttributes.copy(renderDeclarationResolvePhase = true)
|
||||
val resultBuilder = StringBuilder()
|
||||
val renderer = FirRenderer(resultBuilder).with(declarationRenderer = FirDeclarationRendererWithAttributesAndResolvePhase())
|
||||
resolveWithClearCaches(ktFile) { firResolveSession ->
|
||||
check(firResolveSession is LLFirSourceResolveSession)
|
||||
val declarationToResolve = firResolveSession
|
||||
@@ -63,7 +63,7 @@ abstract class AbstractFirLazyDeclarationResolveTest : AbstractLowLevelApiSingle
|
||||
declarationToResolve.ensureResolved(currentPhase)
|
||||
val firFile = firResolveSession.getOrBuildFirFile(ktFile)
|
||||
resultBuilder.append("\n${currentPhase.name}:\n")
|
||||
resultBuilder.append(firFile.render(rendererOption))
|
||||
renderer.renderElementAsString(firFile)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ abstract class AbstractFirLazyDeclarationResolveTest : AbstractLowLevelApiSingle
|
||||
val firFile = firResolveSession.getOrBuildFirFile(ktFile)
|
||||
firFile.ensureResolved(FirResolvePhase.BODY_RESOLVE)
|
||||
resultBuilder.append("\nFILE RAW TO BODY:\n")
|
||||
resultBuilder.append(firFile.render(rendererOption))
|
||||
renderer.renderElementAsString(firFile)
|
||||
}
|
||||
|
||||
testServices.assertions.assertEqualsToTestDataFileSibling(resultBuilder.toString())
|
||||
|
||||
+5
-2
@@ -8,8 +8,9 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.LowLevelFirApiFacadeForResolveOnAir
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLFirSourceResolveSession
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.base.AbstractLowLevelApiSingleFileTest
|
||||
import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.fir.renderer.FirDeclarationRendererWithResolvePhase
|
||||
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
||||
import org.jetbrains.kotlin.fir.renderer.FirRenderer.RenderMode.Companion.Normal
|
||||
import org.jetbrains.kotlin.psi.KtAnnotated
|
||||
import org.jetbrains.kotlin.psi.KtElement
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
@@ -35,7 +36,9 @@ abstract class AbstractFirOnAirResolveTest : AbstractLowLevelApiSingleFileTest()
|
||||
resolveWithClearCaches(ktFile) { firResolveSession ->
|
||||
check(firResolveSession is LLFirSourceResolveSession)
|
||||
val firElement = LowLevelFirApiFacadeForResolveOnAir.onAirResolveElement(firResolveSession, place, onAir)
|
||||
val rendered = firElement.render(FirRenderer.RenderMode.WithResolvePhases)
|
||||
val rendered = FirRenderer().with(
|
||||
declarationRenderer = FirDeclarationRendererWithResolvePhase()
|
||||
).renderElementAsString(firElement)
|
||||
testServices.assertions.assertEqualsToTestDataFileSibling(rendered)
|
||||
}
|
||||
}
|
||||
|
||||
+2
-5
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.analysis.test.framework.services.expressionMarkerPro
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.declarations.FirImport
|
||||
import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.fir.renderer.FirPackageDirectiveRenderer
|
||||
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
||||
import org.jetbrains.kotlin.psi.KtElement
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
@@ -59,13 +60,9 @@ abstract class AbstractGetOrBuildFirTest : AbstractLowLevelApiSingleFileTest() {
|
||||
private fun render(firElement: FirElement?): String = when (firElement) {
|
||||
null -> "null"
|
||||
is FirImport -> "import ${firElement.importedFqName}"
|
||||
else -> firElement.render(renderingMode)
|
||||
else -> FirRenderer().with(packageDirectiveRenderer = FirPackageDirectiveRenderer()).renderElementAsString(firElement)
|
||||
}
|
||||
|
||||
private val renderingMode = FirRenderer.RenderMode.Normal.copy(
|
||||
renderPackageDirective = true,
|
||||
)
|
||||
|
||||
private object Directives : SimpleDirectivesContainer() {
|
||||
val LOOK_UP_FOR_ELEMENT_OF_TYPE by stringDirective("LOOK_UP_FOR_ELEMENT_OF_TYPE")
|
||||
}
|
||||
|
||||
+5
-2
@@ -9,8 +9,9 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getOrBuildFirOfType
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.resolveWithClearCaches
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.base.AbstractLowLevelApiSingleFileTest
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||
import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.fir.renderer.FirDeclarationRendererWithResolvePhase
|
||||
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
||||
import org.jetbrains.kotlin.fir.renderer.FirRenderer.RenderMode.Companion.Normal
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.test.services.TestModuleStructure
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
@@ -20,7 +21,9 @@ abstract class AbstractInnerDeclarationsResolvePhaseTest : AbstractLowLevelApiSi
|
||||
override fun doTestByFileStructure(ktFile: KtFile, moduleStructure: TestModuleStructure, testServices: TestServices) {
|
||||
resolveWithClearCaches(ktFile) { firResolveSession ->
|
||||
val firFile = ktFile.getOrBuildFirOfType<FirFile>(firResolveSession)
|
||||
val actual = firFile.render(FirRenderer.RenderMode.WithResolvePhases)
|
||||
val actual = FirRenderer().with(
|
||||
declarationRenderer = FirDeclarationRendererWithResolvePhase()
|
||||
).renderElementAsString(firFile)
|
||||
testServices.assertions.assertEqualsToTestDataFileSibling(actual, extension = ".fir.txt")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user