[FIR IDE] Add getDispatchReceiverType function and use
This function is under a heavy deprecation and should not be used, since it will most probably be removed in the future
This commit is contained in:
committed by
TeamCityServer
parent
3091269035
commit
4e1e1570df
+8
-6
@@ -37,7 +37,7 @@ abstract class AbstractResolveCallTest(configurator: FrontendApiTestConfigurator
|
||||
|
||||
val actual = executeOnPooledThreadInReadAction {
|
||||
analyseForTest(expression) {
|
||||
resolveCall(expression)?.stringRepresentation()
|
||||
resolveCall(expression)?.let { stringRepresentation(it) }
|
||||
}
|
||||
} ?: "null"
|
||||
testServices.assertions.assertEqualsToTestDataFileSibling(actual)
|
||||
@@ -62,8 +62,8 @@ abstract class AbstractResolveCallTest(configurator: FrontendApiTestConfigurator
|
||||
|
||||
}
|
||||
|
||||
private fun KtCall.stringRepresentation(): String {
|
||||
fun KtType.render() = substitutor.substituteOrSelf(this).asStringForDebugging().replace('/', '.')
|
||||
private fun KtAnalysisSession.stringRepresentation(call: KtCall): String {
|
||||
fun KtType.render() = call.substitutor.substituteOrSelf(this).asStringForDebugging().replace('/', '.')
|
||||
fun Any.stringValue(): String = when (this) {
|
||||
is KtFunctionLikeSymbol -> buildString {
|
||||
append(
|
||||
@@ -81,7 +81,9 @@ private fun KtCall.stringRepresentation(): String {
|
||||
append("<extension receiver>: ${receiver.type.render()}")
|
||||
if (valueParameters.isNotEmpty()) append(", ")
|
||||
}
|
||||
(this@stringValue as? KtPossibleMemberSymbol)?.dispatchType?.let { dispatchReceiverType ->
|
||||
|
||||
@Suppress("DEPRECATION")
|
||||
(this@stringValue as? KtPossibleMemberSymbol)?.getDispatchReceiverType()?.let { dispatchReceiverType ->
|
||||
append("<dispatch receiver>: ${dispatchReceiverType.render()}")
|
||||
if (valueParameters.isNotEmpty()) append(", ")
|
||||
}
|
||||
@@ -108,7 +110,7 @@ private fun KtCall.stringRepresentation(): String {
|
||||
else -> error("unexpected parameter type ${this::class}")
|
||||
}
|
||||
|
||||
val callInfoClass = this::class
|
||||
val callInfoClass = call::class
|
||||
return buildString {
|
||||
append(callInfoClass.simpleName!!)
|
||||
append(":\n")
|
||||
@@ -118,7 +120,7 @@ private fun KtCall.stringRepresentation(): String {
|
||||
.filter { it.name != "token" }
|
||||
.joinTo(this, separator = "\n") { parameter ->
|
||||
val name = parameter.name!!.removePrefix("_")
|
||||
val value = propertyByName[name]!!.javaGetter!!(this@stringRepresentation)?.stringValue()
|
||||
val value = propertyByName[name]!!.javaGetter!!(call)?.stringValue()
|
||||
"$name = $value"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user