From ea8da1833839d0eebe28c9d27c14fc0b8d228662 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Mon, 14 Dec 2015 18:11:11 +0300 Subject: [PATCH] Inline Variable: Highlight usages in current file even if the variable is used in other files --- .../refactoring/inline/KotlinInlineValHandler.kt | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/KotlinInlineValHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/KotlinInlineValHandler.kt index 26aec750252..56539afa7ce 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/KotlinInlineValHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/KotlinInlineValHandler.kt @@ -159,12 +159,11 @@ class KotlinInlineValHandler : InlineActionHandler() { val typeArgumentsForCall = getTypeArgumentsStringForCall(initializer) val parametersForFunctionLiteral = getParametersForFunctionLiteral(initializer) - val isSingleFile = referenceExpressions.all { it.containingFile === file } - if (isSingleFile) { - highlightExpressions(project, editor, referenceExpressions) - } + val referencesInOriginalFile = referenceExpressions.filter { it.containingFile == file } + val isHighlighting = referencesInOriginalFile.isNotEmpty() + highlightExpressions(project, editor, referencesInOriginalFile) - if (!isSingleFile) { + if (referencesInOriginalFile.size != referenceExpressions.size) { val targetPackages = referenceExpressions.mapNotNullTo(LinkedHashSet()) { (it.containingFile as? KtFile)?.packageFqName } for (targetPackage in targetPackages) { if (targetPackage == file.packageFqName) continue @@ -180,7 +179,7 @@ class KotlinInlineValHandler : InlineActionHandler() { fun performRefactoring() { if (!showDialog(project, name, declaration, referenceExpressions)) { - if (isSingleFile) { + if (isHighlighting) { val statusBar = WindowManager.getInstance().getStatusBar(project) statusBar?.info = RefactoringBundle.message("press.escape.to.remove.the.highlighting") } @@ -222,7 +221,7 @@ class KotlinInlineValHandler : InlineActionHandler() { parametersForFunctionLiteral?.let { addFunctionLiteralParameterTypes(it, inlinedExpressions) } - if (isSingleFile) { + if (isHighlighting) { highlightExpressions(project, editor, inlinedExpressions) } }