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