From dbb9b3b6fdd6b9036797dd54cf52be1a597108b0 Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Fri, 26 Jul 2019 12:49:09 +0300 Subject: [PATCH] AbstractFindUsagesTest: cleanup code --- .../findUsages/AbstractFindUsagesTest.kt | 101 ++++++++---------- 1 file changed, 45 insertions(+), 56 deletions(-) diff --git a/idea/tests/org/jetbrains/kotlin/findUsages/AbstractFindUsagesTest.kt b/idea/tests/org/jetbrains/kotlin/findUsages/AbstractFindUsagesTest.kt index 2cdd29492ad..b0ec819921c 100644 --- a/idea/tests/org/jetbrains/kotlin/findUsages/AbstractFindUsagesTest.kt +++ b/idea/tests/org/jetbrains/kotlin/findUsages/AbstractFindUsagesTest.kt @@ -74,11 +74,9 @@ abstract class AbstractFindUsagesTest : KotlinLightCodeInsightFixtureTestCase() val caretElementClass = (if (!isPropertiesFile) { val caretElementClassNames = InTextDirectivesUtils.findLinesWithPrefixesRemoved(mainFileText, "// PSI_ELEMENT: ") Class.forName(caretElementClassNames.single()) - } - else if (isFindFileUsages) { + } else if (isFindFileUsages) { PropertiesFile::class.java - } - else { + } else { Property::class.java }) as Class @@ -100,7 +98,7 @@ abstract class AbstractFindUsagesTest : KotlinLightCodeInsightFixtureTestCase() val ext = FileUtilRt.getExtension(name) ext in SUPPORTED_EXTENSIONS && !name.endsWith(".results.txt") - } + }.orEmpty() for (file in extraFiles) { myFixture.configureByFile(file.name) @@ -133,12 +131,10 @@ abstract class AbstractFindUsagesTest : KotlinLightCodeInsightFixtureTestCase() if (navigationElement !== originalElement) { findUsagesAndCheckResults(mainFileText, prefix, rootPath, navigationElement, options, project) } - } - else { + } else { findUsagesAndCheckResults(mainFileText, prefix, rootPath, caretElement, options, project) } - } - finally { + } finally { fixtureClasses.forEach { TestFixtureExtension.unloadFixture(it) } } } @@ -150,12 +146,12 @@ abstract class AbstractFindUsagesTest : KotlinLightCodeInsightFixtureTestCase() val USAGE_VIEW_PRESENTATION = UsageViewPresentation() internal fun getUsageAdapters( - filters: Collection, - usageInfos: Collection + filters: Collection, + usageInfos: Collection ): Collection { return usageInfos - .map(::UsageInfo2UsageAdapter) - .filter { usageAdapter -> filters.all { it.isVisible(usageAdapter) } } + .map(::UsageInfo2UsageAdapter) + .filter { usageAdapter -> filters.all { it.isVisible(usageAdapter) } } } internal fun getUsageType(element: PsiElement?): UsageType? { @@ -167,30 +163,30 @@ abstract class AbstractFindUsagesTest : KotlinLightCodeInsightFixtureTestCase() val providers = Extensions.getExtensions(UsageTypeProvider.EP_NAME) return providers - .mapNotNull { it.getUsageType(element) } - .firstOrNull() - ?: UsageType.UNCLASSIFIED + .mapNotNull { it.getUsageType(element) } + .firstOrNull() + ?: UsageType.UNCLASSIFIED } internal fun instantiateClasses(mainFileText: String, directive: String): Collection { val filteringRuleClassNames = InTextDirectivesUtils.findLinesWithPrefixesRemoved(mainFileText, directive) return filteringRuleClassNames - .map { - @Suppress("UNCHECKED_CAST") - (Class.forName(it).newInstance() as T) - } + .map { + @Suppress("UNCHECKED_CAST") + (Class.forName(it).newInstance() as T) + } } } } internal fun findUsagesAndCheckResults( - mainFileText: String, - prefix: String, - rootPath: String, - caretElement: T, - options: FindUsagesOptions?, - project: Project, - alwaysAppendFileName: Boolean = false + mainFileText: String, + prefix: String, + rootPath: String, + caretElement: T, + options: FindUsagesOptions?, + project: Project, + alwaysAppendFileName: Boolean = false ) { val highlightingMode = InTextDirectivesUtils.isDirectiveDefined(mainFileText, "// HIGHLIGHTING") @@ -206,11 +202,10 @@ internal fun findUsagesAndCheckResults( } val searchSuperDeclaration = - InTextDirectivesUtils.findLinesWithPrefixesRemoved(mainFileText, CHECK_SUPER_METHODS_YES_NO_DIALOG + ":").firstOrNull() != "no" + InTextDirectivesUtils.findLinesWithPrefixesRemoved(mainFileText, "$CHECK_SUPER_METHODS_YES_NO_DIALOG:").firstOrNull() != "no" findUsages(caretElement, options, highlightingMode, project, searchSuperDeclaration) - } - finally { + } finally { ExpressionsOfTypeProcessor.testLog = null if (logList.size > 0) { log = logList.sorted().joinToString("\n") @@ -228,10 +223,8 @@ internal fun findUsagesAndCheckResults( val appendFileName = alwaysAppendFileName || usageFiles.size > 1 val convertToString: (UsageInfo2UsageAdapter) -> String = { usageAdapter -> - var groupAsString = groupingRules - .map { it.groupUsage(usageAdapter)?.getText(null) ?: "" } - .joinToString(", ") - if (!groupAsString.isEmpty()) { + var groupAsString = groupingRules.joinToString(", ") { it.groupUsage(usageAdapter)?.getText(null) ?: "" } + if (groupAsString.isNotEmpty()) { groupAsString = "($groupAsString) " } @@ -264,32 +257,30 @@ internal fun findUsagesAndCheckResults( ExpressionsOfTypeProcessor.mode = ExpressionsOfTypeProcessor.Mode.ALWAYS_PLAIN findUsagesAndCheckResults(mainFileText, prefix, rootPath, caretElement, options, project) - } - finally { + } finally { ExpressionsOfTypeProcessor.mode = ExpressionsOfTypeProcessor.Mode.ALWAYS_SMART } } } internal fun findUsages( - targetElement: PsiElement, - options: FindUsagesOptions?, - highlightingMode: Boolean, - project: Project, - searchSuperDeclaration: Boolean = true + targetElement: PsiElement, + options: FindUsagesOptions?, + highlightingMode: Boolean, + project: Project, + searchSuperDeclaration: Boolean = true ): Collection { try { - val handler: FindUsagesHandler = when { - targetElement is PsiMember -> - JavaFindUsagesHandler(targetElement, JavaFindUsagesHandlerFactory(project)) - else -> { - if (!searchSuperDeclaration) { - setDialogsResult(CHECK_SUPER_METHODS_YES_NO_DIALOG, Messages.NO) - } - - val findManagerImpl = FindManager.getInstance(project) as FindManagerImpl - findManagerImpl.findUsagesManager.getFindUsagesHandler(targetElement, false) ?: error("Cannot find handler for: $targetElement") + val handler: FindUsagesHandler = if (targetElement is PsiMember) + JavaFindUsagesHandler(targetElement, JavaFindUsagesHandlerFactory(project)) + else { + if (!searchSuperDeclaration) { + setDialogsResult(CHECK_SUPER_METHODS_YES_NO_DIALOG, Messages.NO) } + + val findManagerImpl = FindManager.getInstance(project) as FindManagerImpl + findManagerImpl.findUsagesManager.getFindUsagesHandler(targetElement, false) + ?: error("Cannot find handler for: $targetElement") } @Suppress("NAME_SHADOWING") @@ -304,9 +295,8 @@ internal fun findUsages( for (reference in handler.findReferencesToHighlight(psiElement, options.searchScope)) { processor.process(UsageInfo(reference)) } - } - else { - ProgressManager.getInstance().run(object : Task(project, "",false) { + } else { + ProgressManager.getInstance().run(object : Task(project, "", false) { override fun isModal() = true override fun run(indicator: ProgressIndicator) { @@ -317,8 +307,7 @@ internal fun findUsages( } return processor.results - } - finally { + } finally { clearDialogsResults() } }