From 63251ee763326249804c93cadbb41b558ee998e1 Mon Sep 17 00:00:00 2001 From: Vladimir Dolzhenko Date: Wed, 1 Nov 2023 18:36:27 +0100 Subject: [PATCH] [kotlin] Do not display KtScript names #KTIJ-27680 Fixed GitOrigin-RevId: 35ae20cc764255246fe8364ad7f7e86ed30464ad --- .../idea/codeInsight/KotlinBreadcrumbsInfoProvider.kt | 11 ++++++----- .../idea/k2/KotlinFirBreadcrumbsTestGenerated.java | 5 +++++ .../idea/codeInsight/AbstractBreadcrumbsTest.kt | 2 +- .../idea/codeInsight/BreadcrumbsTestGenerated.java | 5 +++++ .../tests/testData/codeInsight/breadcrumbs/script.kts | 3 +++ .../tests/testData/codeInsight/breadcrumbs/script.txt | 4 ++++ .../kotlin/fe10/testGenerator/Fe10GenerateTests.kt | 2 +- .../codeinsight/GenerateK2CodeInsightTests.kt | 2 +- 8 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 plugins/kotlin/idea/tests/testData/codeInsight/breadcrumbs/script.kts create mode 100644 plugins/kotlin/idea/tests/testData/codeInsight/breadcrumbs/script.txt diff --git a/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeInsight/KotlinBreadcrumbsInfoProvider.kt b/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeInsight/KotlinBreadcrumbsInfoProvider.kt index b6f660b0b22a..53ce8a5966da 100644 --- a/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeInsight/KotlinBreadcrumbsInfoProvider.kt +++ b/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeInsight/KotlinBreadcrumbsInfoProvider.kt @@ -154,10 +154,11 @@ class KotlinBreadcrumbsInfoProvider : BreadcrumbsProvider { private object DeclarationHandler : ElementHandler(KtDeclaration::class) { override fun accepts(element: KtDeclaration): Boolean { - if (element is KtProperty) { - return element.parent is KtFile || element.parent is KtClassBody // do not show local variables + return when (element) { + is KtProperty -> element.parent is KtFile || element.parent is KtClassBody // do not show local variables + is KtScript, is KtScriptInitializer -> false + else -> true } - return true } override fun elementInfo(element: KtDeclaration): String { @@ -390,12 +391,12 @@ class KotlinBreadcrumbsInfoProvider : BreadcrumbsProvider { override fun getElementInfo(e: PsiElement): String { if (DumbService.isDumb(e.project)) return "" - return handler(e)!!.elementInfo(e as KtElement) + return handler(e)?.elementInfo(e as KtElement) ?: "" } override fun getElementTooltip(e: PsiElement): String { if (DumbService.isDumb(e.project)) return "" - return handler(e)!!.elementTooltip(e as KtElement) + return handler(e)?.elementTooltip(e as KtElement) ?: "" } override fun getParent(element: PsiElement): PsiElement? = diff --git a/plugins/kotlin/code-insight/kotlin.code-insight.k2/test/org/jetbrains/kotlin/idea/k2/KotlinFirBreadcrumbsTestGenerated.java b/plugins/kotlin/code-insight/kotlin.code-insight.k2/test/org/jetbrains/kotlin/idea/k2/KotlinFirBreadcrumbsTestGenerated.java index ca2d53b1f3e0..6820cf7a3334 100644 --- a/plugins/kotlin/code-insight/kotlin.code-insight.k2/test/org/jetbrains/kotlin/idea/k2/KotlinFirBreadcrumbsTestGenerated.java +++ b/plugins/kotlin/code-insight/kotlin.code-insight.k2/test/org/jetbrains/kotlin/idea/k2/KotlinFirBreadcrumbsTestGenerated.java @@ -73,6 +73,11 @@ public class KotlinFirBreadcrumbsTestGenerated extends AbstractKotlinFirBreadcru runTest("../../idea/tests/testData/codeInsight/breadcrumbs/PropertyAccessor.kt"); } + @TestMetadata("script.kts") + public void testScript() throws Exception { + runTest("../../idea/tests/testData/codeInsight/breadcrumbs/script.kts"); + } + @TestMetadata("StarProjection.kt") public void testStarProjection() throws Exception { runTest("../../idea/tests/testData/codeInsight/breadcrumbs/StarProjection.kt"); diff --git a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/codeInsight/AbstractBreadcrumbsTest.kt b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/codeInsight/AbstractBreadcrumbsTest.kt index e8df93969723..d1c8713008e5 100644 --- a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/codeInsight/AbstractBreadcrumbsTest.kt +++ b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/codeInsight/AbstractBreadcrumbsTest.kt @@ -13,7 +13,7 @@ abstract class AbstractBreadcrumbsTest : KotlinLightPlatformCodeInsightFixtureTe protected open fun doTest(unused: String) { val fileName = fileName() - assert(fileName.endsWith(".kt")) { fileName } + assert(fileName.endsWith(".kt") || fileName.endsWith(".kts")) { fileName } myFixture.configureByFile(fileName) val element = myFixture.file.findElementAt(myFixture.caretOffset)!! diff --git a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/codeInsight/BreadcrumbsTestGenerated.java b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/codeInsight/BreadcrumbsTestGenerated.java index 5163270a4a32..27d7d9db4b36 100644 --- a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/codeInsight/BreadcrumbsTestGenerated.java +++ b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/codeInsight/BreadcrumbsTestGenerated.java @@ -73,6 +73,11 @@ public class BreadcrumbsTestGenerated extends AbstractBreadcrumbsTest { runTest("testData/codeInsight/breadcrumbs/PropertyAccessor.kt"); } + @TestMetadata("script.kts") + public void testScript() throws Exception { + runTest("testData/codeInsight/breadcrumbs/script.kts"); + } + @TestMetadata("StarProjection.kt") public void testStarProjection() throws Exception { runTest("testData/codeInsight/breadcrumbs/StarProjection.kt"); diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/breadcrumbs/script.kts b/plugins/kotlin/idea/tests/testData/codeInsight/breadcrumbs/script.kts new file mode 100644 index 000000000000..a6c0e395a938 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/codeInsight/breadcrumbs/script.kts @@ -0,0 +1,3 @@ +plugins { + application +} diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/breadcrumbs/script.txt b/plugins/kotlin/idea/tests/testData/codeInsight/breadcrumbs/script.txt new file mode 100644 index 000000000000..7e9747aa23f6 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/codeInsight/breadcrumbs/script.txt @@ -0,0 +1,4 @@ +Crumbs: + plugins{…} +Tooltips: + lambda Script.<anonymous>() diff --git a/plugins/kotlin/util/test-generator-fe10/test/org/jetbrains/kotlin/fe10/testGenerator/Fe10GenerateTests.kt b/plugins/kotlin/util/test-generator-fe10/test/org/jetbrains/kotlin/fe10/testGenerator/Fe10GenerateTests.kt index 4f5cf00e54ce..887120b181c6 100644 --- a/plugins/kotlin/util/test-generator-fe10/test/org/jetbrains/kotlin/fe10/testGenerator/Fe10GenerateTests.kt +++ b/plugins/kotlin/util/test-generator-fe10/test/org/jetbrains/kotlin/fe10/testGenerator/Fe10GenerateTests.kt @@ -519,7 +519,7 @@ private fun assembleWorkspace(): TWorkspace = workspace { } testClass { - model("codeInsight/breadcrumbs") + model("codeInsight/breadcrumbs", pattern = KT_OR_KTS) } testClass { diff --git a/plugins/kotlin/util/test-generator-fir/test/org/jetbrains/kotlin/fir/testGenerator/codeinsight/GenerateK2CodeInsightTests.kt b/plugins/kotlin/util/test-generator-fir/test/org/jetbrains/kotlin/fir/testGenerator/codeinsight/GenerateK2CodeInsightTests.kt index 7bc2b74f9883..419ea0191635 100644 --- a/plugins/kotlin/util/test-generator-fir/test/org/jetbrains/kotlin/fir/testGenerator/codeinsight/GenerateK2CodeInsightTests.kt +++ b/plugins/kotlin/util/test-generator-fir/test/org/jetbrains/kotlin/fir/testGenerator/codeinsight/GenerateK2CodeInsightTests.kt @@ -40,7 +40,7 @@ internal fun MutableTWorkspace.generateK2CodeInsightTests() { model("../../../idea/tests/testData/codeInsight/surroundWith/withIfElseExpression", testMethodName = "doTestWithSurroundWithIfElseExpression") } testClass { - model("../../../idea/tests/testData/codeInsight/breadcrumbs") + model("../../../idea/tests/testData/codeInsight/breadcrumbs", pattern = KT_OR_KTS) } testClass { model("../../../idea/tests/testData/codeInsight/unwrapAndRemove/removeExpression", testMethodName = "doTestExpressionRemover")