[Analysis API] use existing test utilities for rendering

This commit is contained in:
Ilya Kirillov
2022-06-09 19:47:46 +02:00
parent f09459d172
commit ffdfa05015
18 changed files with 176 additions and 53 deletions
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.signatureSubstitution
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.stringRepresentation
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.analysis.api.symbols.getSymbolOfType
import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiSingleFileTest
@@ -36,12 +37,12 @@ abstract class AbstractAnalysisApiSignatureSubstitutionTest : AbstractAnalysisAp
appendLine()
appendLine("Signature before substitution:")
appendLine(signatureBeforeSubstitution.render())
appendLine(stringRepresentation(signatureBeforeSubstitution))
appendLine()
appendLine("Signature after substitution:")
appendLine(signatureAfterSubstitution.render())
appendLine(stringRepresentation(signatureAfterSubstitution))
}
}
testServices.assertions.assertEqualsToTestDataFileSibling(actual)
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.signatureSubstitution
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.stringRepresentation
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.analysis.api.symbols.getSymbolOfType
import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiSingleFileTest
@@ -23,7 +24,7 @@ abstract class AbstractAnalysisApiSymbolAsSignatureTest : AbstractAnalysisApiSin
val symbol = declaration.getSymbolOfType<KtCallableSymbol>()
val signature = symbol.asSignature()
val renderedSymbol = symbol.render()
val renderedSignature = signature.render()
val renderedSignature = stringRepresentation(signature)
prettyPrint {
appendLine("KtDeclaration: ${declaration::class.simpleName}")
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.signatureSubstitution
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.stringRepresentation
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.analysis.api.symbols.getSymbolOfType
import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiSingleFileTest
@@ -26,18 +27,16 @@ abstract class AbstractAnalysisApiSymbolSubstitutionTest : AbstractAnalysisApiSi
val substitutor = with(SubstitutionParser) { parseSubstitutors(module, ktFile) }.single()
val signature = symbol.substitute(substitutor)
val renderedSymbol = symbol.render()
val renderedSignature = signature.render()
prettyPrint {
appendLine("KtDeclaration: ${declaration::class.simpleName}")
appendLine("Symbol:")
appendLine(renderedSymbol)
appendLine(symbol.render())
appendLine()
appendLine("Signature:")
appendLine(renderedSignature)
appendLine(stringRepresentation(signature))
}
}
testServices.assertions.assertEqualsToTestDataFileSibling(actual)
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.analysis.api.components.buildClassType
import org.jetbrains.kotlin.analysis.api.components.buildSubstitutor
import org.jetbrains.kotlin.analysis.api.components.buildTypeParameterType
import org.jetbrains.kotlin.analysis.api.impl.base.KtMapBackedSubstitutor
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.stringRepresentation
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.analysis.api.symbols.getSymbolOfType
import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiSingleFileTest
@@ -49,17 +50,12 @@ abstract class AbstractSubstitutorBuilderTest : AbstractAnalysisApiSingleFileTes
appendLine()
appendLine("Substitutor:")
appendLine(
(substitutor as KtMapBackedSubstitutor)
.getAsMap()
.entries
.joinToString { (k, v) -> "${k.name} -> ${v.render()}" }
)
appendLine(stringRepresentation(substitutor))
appendLine()
appendLine("Signature after substitution:")
appendLine(signatureAfterSubstitution.render())
appendLine(stringRepresentation(signatureAfterSubstitution))
}
}
testServices.assertions.assertEqualsToTestDataFileSibling(actual)
@@ -14,6 +14,7 @@ import org.jetbrains.kotlin.analysis.api.impl.base.KtMapBackedSubstitutor
import org.jetbrains.kotlin.analysis.api.symbols.*
import org.jetbrains.kotlin.analysis.api.types.KtSubstitutor
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.name.CallableId
import org.jetbrains.kotlin.name.Name
import kotlin.reflect.KProperty1
import kotlin.reflect.KVisibility
@@ -78,6 +79,7 @@ internal fun KtAnalysisSession.stringRepresentation(any: Any): String = with(any
is KtType -> render()
is Enum<*> -> name
is Name -> asString()
is CallableId -> toString()
else -> buildString {
val clazz = this@with::class
val className = clazz.simpleName!!