diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceResolveTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceResolveTest.kt index 4ee7f47dca0..acb15f5ee8a 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceResolveTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceResolveTest.kt @@ -67,7 +67,7 @@ abstract class AbstractReferenceResolveTest : AbstractAnalysisApiBasedTest() { analyseForTest(ktReferences.first().element) { val symbols = ktReferences.flatMap { it.resolveToSymbols() } checkReferenceResultForValidity(ktReferences, mainModule, testServices, symbols) - renderResolvedTo(symbols, renderingOptions) + renderResolvedTo(symbols, renderingOptions) { getAdditionalSymbolInfo(it) } } if (Directives.UNRESOLVED_REFERENCE in mainModule.directives) { @@ -78,6 +78,8 @@ abstract class AbstractReferenceResolveTest : AbstractAnalysisApiBasedTest() { testServices.assertions.assertEqualsToTestDataFileSibling(actual) } + open fun KtAnalysisSession.getAdditionalSymbolInfo(symbol: KtSymbol): String? = null + private fun findReferencesAtCaret(mainKtFile: KtFile, caretPosition: Int): List = mainKtFile.findReferenceAt(caretPosition)?.unwrapMultiReferences().orEmpty().filterIsInstance() diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceResolveWithResolveExtensionTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceResolveWithResolveExtensionTest.kt index a605d5e33bc..07b97610022 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceResolveWithResolveExtensionTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceResolveWithResolveExtensionTest.kt @@ -6,6 +6,8 @@ package org.jetbrains.kotlin.analysis.api.impl.base.test.cases.references import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.resolve.extensions.KtResolveExtensionTestSupport +import org.jetbrains.kotlin.analysis.api.KtAnalysisSession +import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder abstract class AbstractReferenceResolveWithResolveExtensionTest : AbstractReferenceResolveTest() { @@ -13,4 +15,7 @@ abstract class AbstractReferenceResolveWithResolveExtensionTest : AbstractRefere super.configureTest(builder) KtResolveExtensionTestSupport.configure(builder) } + + override fun KtAnalysisSession.getAdditionalSymbolInfo(symbol: KtSymbol): String? = + "origin = ${symbol.origin}" } diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/TestReferenceResolveResultRenderer.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/TestReferenceResolveResultRenderer.kt index fc1e56b4d13..c85610dd03e 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/TestReferenceResolveResultRenderer.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/TestReferenceResolveResultRenderer.kt @@ -18,15 +18,17 @@ object TestReferenceResolveResultRenderer { fun KtAnalysisSession.renderResolvedTo( symbols: List, renderer: KtDeclarationRenderer = KtDeclarationRendererForDebug.WITH_QUALIFIED_NAMES, + additionalInfo: KtAnalysisSession.(KtSymbol) -> String? = { null } ) = - symbols.map { renderResolveResult(it, renderer) } + symbols.map { renderResolveResult(it, renderer, additionalInfo) } .sorted() .withIndex() .joinToString(separator = "\n") { "${it.index}: ${it.value}" } private fun KtAnalysisSession.renderResolveResult( symbol: KtSymbol, - renderer: KtDeclarationRenderer + renderer: KtDeclarationRenderer, + additionalInfo: KtAnalysisSession.(KtSymbol) -> String? ): String { return buildString { symbolContainerFqName(symbol)?.let { fqName -> @@ -41,6 +43,7 @@ object TestReferenceResolveResultRenderer { } else -> error("Unexpected symbol ${symbol::class}") } + additionalInfo(symbol)?.let { append(" [$it]") } } } diff --git a/analysis/analysis-api/testData/resolveExtensions/referenceResolve/multiModule/extendedModuleDependency/classMember.txt b/analysis/analysis-api/testData/resolveExtensions/referenceResolve/multiModule/extendedModuleDependency/classMember.txt index a4d404579a2..1916a36650f 100644 --- a/analysis/analysis-api/testData/resolveExtensions/referenceResolve/multiModule/extendedModuleDependency/classMember.txt +++ b/analysis/analysis-api/testData/resolveExtensions/referenceResolve/multiModule/extendedModuleDependency/classMember.txt @@ -1,2 +1,2 @@ Resolved to: -0: (in generated.GeneratedClass2) fun generatedClassMember2(): generated.GeneratedClass1 +0: (in generated.GeneratedClass2) fun generatedClassMember2(): generated.GeneratedClass1 [origin = SOURCE] \ No newline at end of file diff --git a/analysis/analysis-api/testData/resolveExtensions/referenceResolve/multiModule/extendedModuleDependency/extensionFunction.txt b/analysis/analysis-api/testData/resolveExtensions/referenceResolve/multiModule/extendedModuleDependency/extensionFunction.txt index 377c94c0f46..64151ac0792 100644 --- a/analysis/analysis-api/testData/resolveExtensions/referenceResolve/multiModule/extendedModuleDependency/extensionFunction.txt +++ b/analysis/analysis-api/testData/resolveExtensions/referenceResolve/multiModule/extendedModuleDependency/extensionFunction.txt @@ -1,2 +1,2 @@ Resolved to: -0: (in generated) fun kotlin.String.generatedTopLevelExtensionFunction1(boolean: kotlin.Boolean): kotlin.Int +0: (in generated) fun kotlin.String.generatedTopLevelExtensionFunction1(boolean: kotlin.Boolean): kotlin.Int [origin = SOURCE] \ No newline at end of file diff --git a/analysis/analysis-api/testData/resolveExtensions/referenceResolve/multiModule/extendedModuleDependency/shadowedOverload.txt b/analysis/analysis-api/testData/resolveExtensions/referenceResolve/multiModule/extendedModuleDependency/shadowedOverload.txt index fbdbb1d6982..f3d427b3edf 100644 --- a/analysis/analysis-api/testData/resolveExtensions/referenceResolve/multiModule/extendedModuleDependency/shadowedOverload.txt +++ b/analysis/analysis-api/testData/resolveExtensions/referenceResolve/multiModule/extendedModuleDependency/shadowedOverload.txt @@ -1,2 +1,2 @@ Resolved to: -0: (in generated) fun kotlin.Any.generatedOverloadedExtensionFunction(): kotlin.Int \ No newline at end of file +0: (in generated) fun kotlin.Any.generatedOverloadedExtensionFunction(): kotlin.Int [origin = SOURCE] \ No newline at end of file diff --git a/analysis/analysis-api/testData/resolveExtensions/referenceResolve/multiModule/extendedModuleDependency/topLevelFunction.txt b/analysis/analysis-api/testData/resolveExtensions/referenceResolve/multiModule/extendedModuleDependency/topLevelFunction.txt index 6f68de585d5..88dca4abf19 100644 --- a/analysis/analysis-api/testData/resolveExtensions/referenceResolve/multiModule/extendedModuleDependency/topLevelFunction.txt +++ b/analysis/analysis-api/testData/resolveExtensions/referenceResolve/multiModule/extendedModuleDependency/topLevelFunction.txt @@ -1,2 +1,2 @@ Resolved to: -0: (in generated) fun generatedTopLevelFunction1(): generated.GeneratedClass2 +0: (in generated) fun generatedTopLevelFunction1(): generated.GeneratedClass2 [origin = SOURCE] \ No newline at end of file diff --git a/analysis/analysis-api/testData/resolveExtensions/referenceResolve/singleModule/classMember.txt b/analysis/analysis-api/testData/resolveExtensions/referenceResolve/singleModule/classMember.txt index a4d404579a2..1916a36650f 100644 --- a/analysis/analysis-api/testData/resolveExtensions/referenceResolve/singleModule/classMember.txt +++ b/analysis/analysis-api/testData/resolveExtensions/referenceResolve/singleModule/classMember.txt @@ -1,2 +1,2 @@ Resolved to: -0: (in generated.GeneratedClass2) fun generatedClassMember2(): generated.GeneratedClass1 +0: (in generated.GeneratedClass2) fun generatedClassMember2(): generated.GeneratedClass1 [origin = SOURCE] \ No newline at end of file diff --git a/analysis/analysis-api/testData/resolveExtensions/referenceResolve/singleModule/extensionFunction.txt b/analysis/analysis-api/testData/resolveExtensions/referenceResolve/singleModule/extensionFunction.txt index 377c94c0f46..64151ac0792 100644 --- a/analysis/analysis-api/testData/resolveExtensions/referenceResolve/singleModule/extensionFunction.txt +++ b/analysis/analysis-api/testData/resolveExtensions/referenceResolve/singleModule/extensionFunction.txt @@ -1,2 +1,2 @@ Resolved to: -0: (in generated) fun kotlin.String.generatedTopLevelExtensionFunction1(boolean: kotlin.Boolean): kotlin.Int +0: (in generated) fun kotlin.String.generatedTopLevelExtensionFunction1(boolean: kotlin.Boolean): kotlin.Int [origin = SOURCE] \ No newline at end of file diff --git a/analysis/analysis-api/testData/resolveExtensions/referenceResolve/singleModule/shadowedOverload.txt b/analysis/analysis-api/testData/resolveExtensions/referenceResolve/singleModule/shadowedOverload.txt index fbdbb1d6982..f3d427b3edf 100644 --- a/analysis/analysis-api/testData/resolveExtensions/referenceResolve/singleModule/shadowedOverload.txt +++ b/analysis/analysis-api/testData/resolveExtensions/referenceResolve/singleModule/shadowedOverload.txt @@ -1,2 +1,2 @@ Resolved to: -0: (in generated) fun kotlin.Any.generatedOverloadedExtensionFunction(): kotlin.Int \ No newline at end of file +0: (in generated) fun kotlin.Any.generatedOverloadedExtensionFunction(): kotlin.Int [origin = SOURCE] \ No newline at end of file diff --git a/analysis/analysis-api/testData/resolveExtensions/referenceResolve/singleModule/topLevelFunction.txt b/analysis/analysis-api/testData/resolveExtensions/referenceResolve/singleModule/topLevelFunction.txt index c35736a4ba3..88dca4abf19 100644 --- a/analysis/analysis-api/testData/resolveExtensions/referenceResolve/singleModule/topLevelFunction.txt +++ b/analysis/analysis-api/testData/resolveExtensions/referenceResolve/singleModule/topLevelFunction.txt @@ -1,2 +1,2 @@ Resolved to: -0: (in generated) fun generatedTopLevelFunction1(): generated.GeneratedClass2 \ No newline at end of file +0: (in generated) fun generatedTopLevelFunction1(): generated.GeneratedClass2 [origin = SOURCE] \ No newline at end of file