[LL FIR] LLFirResolveTarget: more accurate toString

^KT-61296
This commit is contained in:
Dmitrii Gridin
2023-09-11 18:18:31 +02:00
committed by Space Team
parent 6893c44a06
commit aeeb64b9ef
4 changed files with 7 additions and 5 deletions
@@ -25,6 +25,5 @@ class LLFirClassWithSpecificMembersResolveTarget(
members.forEach(action) members.forEach(action)
} }
override fun toStringForTarget(): String = override fun toStringAdditionalSuffix(): String = members.joinToString(prefix = "[", postfix = "]") { it.symbol.toString() }
members.joinToString(prefix = "[", postfix = "]") { it.symbol.toString() }
} }
@@ -65,11 +65,14 @@ sealed class LLFirResolveTarget(
} }
add(toStringForTarget()) add(toStringForTarget())
toStringAdditionalSuffix()?.let(this::add)
}.joinTo(this, separator = " -> ") }.joinTo(this, separator = " -> ")
append(")") append(")")
} }
protected open fun toStringForTarget(): String = when (target) { protected open fun toStringAdditionalSuffix(): String? = null
private fun toStringForTarget(): String = when (target) {
is FirConstructor -> "constructor" is FirConstructor -> "constructor"
is FirClassLikeDeclaration -> target.symbol.name.asString() is FirClassLikeDeclaration -> target.symbol.name.asString()
is FirCallableDeclaration -> target.symbol.name.asString() is FirCallableDeclaration -> target.symbol.name.asString()
@@ -37,5 +37,5 @@ class LLFirWholeClassResolveTarget(
} }
} }
override fun toStringForTarget(): String = "*" override fun toStringAdditionalSuffix(): String = "*"
} }
@@ -35,5 +35,5 @@ class LLFirWholeFileResolveTarget(firFile: FirFile) : LLFirResolveTarget(firFile
} }
} }
override fun toStringForTarget(): String = "*" override fun toStringAdditionalSuffix(): String = "*"
} }