Simplify creation of FirRenderer
This commit is contained in:
+1
-4
@@ -28,7 +28,6 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirFieldImpl
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.java.declarations.FirJavaField
|
||||
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
||||
import org.jetbrains.kotlin.fir.renderer.FirResolvePhaseRenderer
|
||||
import org.jetbrains.kotlin.fir.resolve.getContainingClass
|
||||
import org.jetbrains.kotlin.fir.resolve.getSymbolByLookupTag
|
||||
import org.jetbrains.kotlin.fir.resolve.inference.ConeTypeParameterBasedTypeVariable
|
||||
@@ -584,9 +583,7 @@ internal class KtSymbolByFirBuilder constructor(
|
||||
returns() implies requirement
|
||||
}
|
||||
require(requirement) {
|
||||
val renderedSymbol = FirRenderer().with(
|
||||
resolvePhaseRenderer = FirResolvePhaseRenderer()
|
||||
).renderElementWithTypeAsString(firSymbol.fir)
|
||||
val renderedSymbol = FirRenderer.withResolvePhase().renderElementWithTypeAsString(firSymbol.fir)
|
||||
"Cannot build ${S::class.simpleName} for $renderedSymbol}"
|
||||
}
|
||||
}
|
||||
|
||||
+1
-5
@@ -30,7 +30,6 @@ import org.jetbrains.kotlin.fir.declarations.utils.superConeTypes
|
||||
import org.jetbrains.kotlin.fir.expressions.FirCallableReferenceAccess
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirGetClassCall
|
||||
import org.jetbrains.kotlin.fir.renderer.FirCallNoArgumentsRenderer
|
||||
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
||||
import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap
|
||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||
@@ -160,10 +159,7 @@ internal class KtFirTypeProvider(
|
||||
?: this.typeArguments.mapNotNull { it.type })
|
||||
|
||||
require(typeParameterSymbols.size == argumentTypes.size) {
|
||||
val renderedSymbol = FirRenderer().with(
|
||||
annotationRenderer = null, bodyRenderer = null, propertyAccessorRenderer = null,
|
||||
callArgumentsRenderer = FirCallNoArgumentsRenderer()
|
||||
).renderElementAsString(symbol.fir)
|
||||
val renderedSymbol = FirRenderer.noAnnotationBodiesAccessorAndArguments().renderElementAsString(symbol.fir)
|
||||
"'$renderedSymbol' expects '${typeParameterSymbols.size}' type arguments " +
|
||||
"but type '${this.renderForDebugging()}' has ${argumentTypes.size} type arguments."
|
||||
}
|
||||
|
||||
+1
-4
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
|
||||
import org.jetbrains.kotlin.fir.psi
|
||||
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
||||
import org.jetbrains.kotlin.fir.renderer.FirResolvePhaseRenderer
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
@@ -32,9 +31,7 @@ import org.jetbrains.kotlin.psi.KtDeclaration
|
||||
|
||||
|
||||
internal fun FirCallableSymbol<*>.invalidModalityError(): Nothing {
|
||||
val rendered = FirRenderer().with(
|
||||
resolvePhaseRenderer = FirResolvePhaseRenderer()
|
||||
).renderElementWithTypeAsString(fir)
|
||||
val rendered = FirRenderer.withResolvePhase().renderElementWithTypeAsString(fir)
|
||||
error(
|
||||
"""|Symbol modality should not be null, looks like the FIR symbol was not properly resolved
|
||||
|
|
||||
|
||||
+2
-1
@@ -53,7 +53,8 @@ abstract class AbstractFirLazyDeclarationResolveTest : AbstractLowLevelApiSingle
|
||||
|
||||
override fun doTestByFileStructure(ktFile: KtFile, moduleStructure: TestModuleStructure, testServices: TestServices) {
|
||||
val resultBuilder = StringBuilder()
|
||||
val renderer = FirRenderer(resultBuilder).with(
|
||||
val renderer = FirRenderer(
|
||||
builder = resultBuilder,
|
||||
declarationRenderer = FirDeclarationRendererWithAttributes(),
|
||||
resolvePhaseRenderer = FirResolvePhaseRenderer()
|
||||
)
|
||||
|
||||
+1
-4
@@ -9,7 +9,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.LowLevelFirApiFacadeF
|
||||
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.renderer.FirRenderer
|
||||
import org.jetbrains.kotlin.fir.renderer.FirResolvePhaseRenderer
|
||||
import org.jetbrains.kotlin.psi.KtAnnotated
|
||||
import org.jetbrains.kotlin.psi.KtElement
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
@@ -35,9 +34,7 @@ abstract class AbstractFirOnAirResolveTest : AbstractLowLevelApiSingleFileTest()
|
||||
resolveWithClearCaches(ktFile) { firResolveSession ->
|
||||
check(firResolveSession is LLFirSourceResolveSession)
|
||||
val firElement = LowLevelFirApiFacadeForResolveOnAir.onAirResolveElement(firResolveSession, place, onAir)
|
||||
val rendered = FirRenderer().with(
|
||||
resolvePhaseRenderer = FirResolvePhaseRenderer()
|
||||
).renderElementAsString(firElement)
|
||||
val rendered = FirRenderer.withResolvePhase().renderElementAsString(firElement)
|
||||
testServices.assertions.assertEqualsToTestDataFileSibling(rendered)
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -60,7 +60,7 @@ abstract class AbstractGetOrBuildFirTest : AbstractLowLevelApiSingleFileTest() {
|
||||
private fun render(firElement: FirElement?): String = when (firElement) {
|
||||
null -> "null"
|
||||
is FirImport -> "import ${firElement.importedFqName}"
|
||||
else -> FirRenderer().with(packageDirectiveRenderer = FirPackageDirectiveRenderer()).renderElementAsString(firElement)
|
||||
else -> FirRenderer(packageDirectiveRenderer = FirPackageDirectiveRenderer()).renderElementAsString(firElement)
|
||||
}
|
||||
|
||||
private object Directives : SimpleDirectivesContainer() {
|
||||
|
||||
+1
-1
@@ -127,7 +127,7 @@ abstract class AbstractPartialRawFirBuilderTestCase : AbstractLowLevelApiSingleF
|
||||
null
|
||||
)
|
||||
|
||||
val firDump = FirRenderer().with(idRenderer = ConeIdFullRenderer()).renderElementAsString(firElement)
|
||||
val firDump = FirRenderer(idRenderer = ConeIdFullRenderer()).renderElementAsString(firElement)
|
||||
JUnit5Assertions.assertEqualsToTestDataFileSibling(firDump)
|
||||
}
|
||||
|
||||
|
||||
+1
-4
@@ -10,7 +10,6 @@ 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.renderer.FirRenderer
|
||||
import org.jetbrains.kotlin.fir.renderer.FirResolvePhaseRenderer
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.test.services.TestModuleStructure
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
@@ -20,9 +19,7 @@ abstract class AbstractInnerDeclarationsResolvePhaseTest : AbstractLowLevelApiSi
|
||||
override fun doTestByFileStructure(ktFile: KtFile, moduleStructure: TestModuleStructure, testServices: TestServices) {
|
||||
resolveWithClearCaches(ktFile) { firResolveSession ->
|
||||
val firFile = ktFile.getOrBuildFirOfType<FirFile>(firResolveSession)
|
||||
val actual = FirRenderer().with(
|
||||
resolvePhaseRenderer = FirResolvePhaseRenderer()
|
||||
).renderElementAsString(firFile)
|
||||
val actual = FirRenderer.withResolvePhase().renderElementAsString(firFile)
|
||||
testServices.assertions.assertEqualsToTestDataFileSibling(actual, extension = ".fir.txt")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user