FIR: Support callable references partially
^KT-32725 In Progress
This commit is contained in:
@@ -90,6 +90,16 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun List<ConeKotlinType>.renderTypesSeparated() {
|
||||
for ((index, element) in this.withIndex()) {
|
||||
if (index > 0) {
|
||||
print(", ")
|
||||
}
|
||||
print(element.render())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private fun List<FirValueParameter>.renderParameters() {
|
||||
print("(")
|
||||
renderSeparated()
|
||||
@@ -806,6 +816,18 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
|
||||
}
|
||||
val symbol = resolvedCallableReference.resolvedSymbol
|
||||
print(symbol.render())
|
||||
|
||||
|
||||
if (resolvedCallableReference is FirResolvedRealCallableReference) {
|
||||
if (resolvedCallableReference.inferredTypeArguments.isNotEmpty()) {
|
||||
print("<")
|
||||
|
||||
resolvedCallableReference.inferredTypeArguments.renderTypesSeparated()
|
||||
|
||||
print(">")
|
||||
}
|
||||
}
|
||||
|
||||
if (isFakeOverride) {
|
||||
when (symbol) {
|
||||
is FirNamedFunctionSymbol -> {
|
||||
@@ -822,6 +844,10 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
|
||||
print("|")
|
||||
}
|
||||
|
||||
override fun visitResolvedRealCallableReference(resolvedRealCallableReference: FirResolvedRealCallableReference) {
|
||||
visitResolvedCallableReference(resolvedRealCallableReference)
|
||||
}
|
||||
|
||||
override fun visitThisReference(thisReference: FirThisReference) {
|
||||
print("this")
|
||||
val labelName = thisReference.labelName
|
||||
|
||||
Reference in New Issue
Block a user