Get rid of mode argument in FirElement.render(withType)
This commit is contained in:
+1
-3
@@ -29,7 +29,6 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.java.declarations.FirJavaField
|
||||
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.fir.resolve.getContainingClass
|
||||
import org.jetbrains.kotlin.fir.resolve.getSymbolByLookupTag
|
||||
import org.jetbrains.kotlin.fir.resolve.inference.ConeTypeParameterBasedTypeVariable
|
||||
@@ -585,10 +584,9 @@ internal class KtSymbolByFirBuilder constructor(
|
||||
returns() implies requirement
|
||||
}
|
||||
require(requirement) {
|
||||
// TODO: renderWithTypes!!!
|
||||
val renderedSymbol = FirRenderer().with(
|
||||
declarationRenderer = FirDeclarationRendererWithResolvePhase()
|
||||
).renderElementAsString(firSymbol.fir)
|
||||
).renderElementWithTypeAsString(firSymbol.fir)
|
||||
"Cannot build ${S::class.simpleName} for $renderedSymbol}"
|
||||
}
|
||||
}
|
||||
|
||||
+1
-3
@@ -23,7 +23,6 @@ import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
|
||||
import org.jetbrains.kotlin.fir.psi
|
||||
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.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
@@ -33,10 +32,9 @@ import org.jetbrains.kotlin.psi.KtDeclaration
|
||||
|
||||
|
||||
internal fun FirCallableSymbol<*>.invalidModalityError(): Nothing {
|
||||
// TODO: renderWithTypes!!!
|
||||
val rendered = FirRenderer().with(
|
||||
declarationRenderer = FirDeclarationRendererWithResolvePhase()
|
||||
).renderElementAsString(fir)
|
||||
).renderElementWithTypeAsString(fir)
|
||||
error(
|
||||
"""|Symbol modality should not be null, looks like the FIR symbol was not properly resolved
|
||||
|
|
||||
|
||||
+1
-2
@@ -10,7 +10,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.ideSessionComponents
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||
import org.jetbrains.kotlin.fir.renderWithType
|
||||
import org.jetbrains.kotlin.fir.renderer.FirRenderer.RenderMode.Companion.Normal
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
@@ -54,7 +53,7 @@ internal fun FirBasedSymbol<*>.createSignature(): IdSignature =
|
||||
internal fun FirDeclaration.createSignature(): IdSignature {
|
||||
val signatureComposer = moduleData.session.ideSessionComponents.signatureComposer
|
||||
return signatureComposer.composeSignature(this)
|
||||
?: error("Could not compose signature for ${this.renderWithType(Normal)}, looks like it is private or local")
|
||||
?: error("Could not compose signature for ${this.renderWithType()}, looks like it is private or local")
|
||||
}
|
||||
|
||||
internal fun KtFirAnalysisSession.getClassLikeSymbol(classId: ClassId) =
|
||||
|
||||
+1
-2
@@ -15,7 +15,6 @@ import org.jetbrains.kotlin.fir.builder.PsiHandlingMode
|
||||
import org.jetbrains.kotlin.fir.builder.RawFirBuilder
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.psi
|
||||
import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||
import org.jetbrains.kotlin.fir.scopes.FirContainingNamesAwareScope
|
||||
@@ -127,7 +126,7 @@ abstract class AbstractPartialRawFirBuilderTestCase : AbstractLowLevelApiSingleF
|
||||
null
|
||||
)
|
||||
|
||||
val firDump = firElement.render(FirRenderer.RenderMode.WithFqNames)
|
||||
val firDump = FirRenderer(mode = FirRenderer.RenderMode.WithFqNames).renderElementAsString(firElement)
|
||||
JUnit5Assertions.assertEqualsToTestDataFileSibling(firDump)
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -20,8 +20,8 @@ import org.jetbrains.kotlin.fir.symbols.impl.FirFileSymbol
|
||||
import org.jetbrains.kotlin.psi.KtElement
|
||||
|
||||
|
||||
internal fun FirElement.renderWithClassName(renderMode: FirRenderer.RenderMode = FirRenderer.RenderMode.Normal): String =
|
||||
"${this::class.simpleName} `${render(renderMode)}`"
|
||||
internal fun FirElement.renderWithClassName(): String =
|
||||
"${this::class.simpleName} `${render()}`"
|
||||
|
||||
|
||||
internal fun FirBasedSymbol<*>.name(): String = when (this) {
|
||||
|
||||
@@ -80,11 +80,8 @@ val FirReference.resolvedSymbol: FirBasedSymbol<*>? get() = resolved?.resolvedSy
|
||||
|
||||
val FirContextReceiver.labelName: Name? get() = customLabelName ?: labelNameFromTypeRef
|
||||
|
||||
fun FirElement.renderWithType(mode: FirRenderer.RenderMode = FirRenderer.RenderMode.Normal): String = buildString {
|
||||
append(this@renderWithType)
|
||||
append(": ")
|
||||
FirRenderer(this, mode).renderElementAsString(this@renderWithType)
|
||||
}
|
||||
fun FirElement.renderWithType(): String =
|
||||
FirRenderer().renderElementWithTypeAsString(this)
|
||||
|
||||
fun FirElement.render(mode: FirRenderer.RenderMode = FirRenderer.RenderMode.Normal): String =
|
||||
FirRenderer(mode = mode).renderElementAsString(this)
|
||||
fun FirElement.render(): String =
|
||||
FirRenderer().renderElementAsString(this)
|
||||
|
||||
@@ -108,6 +108,12 @@ open class FirRenderer private constructor(
|
||||
return toString()
|
||||
}
|
||||
|
||||
fun renderElementWithTypeAsString(element: FirElement): String {
|
||||
print(element)
|
||||
print(": ")
|
||||
return renderElementAsString(element)
|
||||
}
|
||||
|
||||
fun renderAsCallableDeclarationString(callableDeclaration: FirCallableDeclaration): String {
|
||||
visitor.visitCallableDeclaration(callableDeclaration)
|
||||
return toString()
|
||||
|
||||
Reference in New Issue
Block a user