From d6b9b8bdd41ba8829d1ded40b64c2bc7661bedea Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Tue, 2 Nov 2021 01:16:59 +0900 Subject: [PATCH] [FIR IDE] Compare error types consistently in test data Use the fixed error type description so test data can be shared across both frontends. --- .../test/components/AbstractExpectedExpressionTypeTest.kt | 4 +++- .../kotlin/analysis/api/symbols/DebugSymbolRenderer.kt | 6 +++--- .../functionExpressionBodyWithoutExplicitType.txt | 2 +- .../propertyDeclarationWithoutExplicitType.txt | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/AbstractExpectedExpressionTypeTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/AbstractExpectedExpressionTypeTest.kt index 97af29dad75..7d842bcc8f8 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/AbstractExpectedExpressionTypeTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/AbstractExpectedExpressionTypeTest.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.analysis.api.impl.base.test.components import org.jetbrains.kotlin.analysis.api.impl.barebone.test.FrontendApiTestConfiguratorService import org.jetbrains.kotlin.analysis.api.impl.barebone.test.expressionMarkerProvider import org.jetbrains.kotlin.analysis.api.impl.base.test.test.framework.AbstractHLApiSingleFileTest +import org.jetbrains.kotlin.analysis.api.symbols.DebugSymbolRenderer import org.jetbrains.kotlin.psi.KtExpression import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.test.model.TestModule @@ -24,7 +25,8 @@ abstract class AbstractExpectedExpressionTypeTest( val actualExpectedTypeText: String? = executeOnPooledThreadInReadAction { analyseForTest(expressionAtCaret) { - expressionAtCaret.getExpectedType()?.asStringForDebugging() + val expectedType = expressionAtCaret.getExpectedType() ?: return@analyseForTest null + DebugSymbolRenderer.renderType(expectedType) } } diff --git a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/DebugSymbolRenderer.kt b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/DebugSymbolRenderer.kt index e7eebfcfe8c..864cf32ab9c 100644 --- a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/DebugSymbolRenderer.kt +++ b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/DebugSymbolRenderer.kt @@ -21,9 +21,9 @@ import kotlin.reflect.full.declaredMemberExtensionProperties import kotlin.reflect.full.extensionReceiverParameter public object DebugSymbolRenderer { - public fun render(symbol: KtSymbol): String = Block().apply { - renderSymbol(symbol) - }.toString() + public fun render(symbol: KtSymbol): String = Block().apply { renderSymbol(symbol) }.toString() + + public fun renderType(type: KtType): String = Block().apply { renderType(type) }.toString() public fun KtAnalysisSession.renderExtra(symbol: KtSymbol): String = Block().apply { renderSymbol(symbol) diff --git a/analysis/analysis-api/testData/components/expectedExpressionType/functionExpressionBodyWithoutExplicitType.txt b/analysis/analysis-api/testData/components/expectedExpressionType/functionExpressionBodyWithoutExplicitType.txt index dd5cf684203..8178d6d745f 100644 --- a/analysis/analysis-api/testData/components/expectedExpressionType/functionExpressionBodyWithoutExplicitType.txt +++ b/analysis/analysis-api/testData/components/expectedExpressionType/functionExpressionBodyWithoutExplicitType.txt @@ -1,2 +1,2 @@ expression: av -expected type: ERROR CLASS: Unresolved name: av +expected type: ERROR_TYPE diff --git a/analysis/analysis-api/testData/components/expectedExpressionType/propertyDeclarationWithoutExplicitType.txt b/analysis/analysis-api/testData/components/expectedExpressionType/propertyDeclarationWithoutExplicitType.txt index dd5cf684203..8178d6d745f 100644 --- a/analysis/analysis-api/testData/components/expectedExpressionType/propertyDeclarationWithoutExplicitType.txt +++ b/analysis/analysis-api/testData/components/expectedExpressionType/propertyDeclarationWithoutExplicitType.txt @@ -1,2 +1,2 @@ expression: av -expected type: ERROR CLASS: Unresolved name: av +expected type: ERROR_TYPE