From 1cb4580380bcdf33ccf9f7456813b29a25ef7e95 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Fri, 17 Mar 2017 18:47:37 +0300 Subject: [PATCH] Refactor: rename 'check' helper function with more descriptive name, remove 'var result' --- .../evaluate/KotlinCodeFragmentFactory.kt | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinCodeFragmentFactory.kt b/idea/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinCodeFragmentFactory.kt index 66ce1982d1a..a52aa75e319 100644 --- a/idea/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinCodeFragmentFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinCodeFragmentFactory.kt @@ -309,21 +309,19 @@ class KotlinCodeFragmentFactory: CodeFragmentFactory() { elementAt.textOffset } - var result = PsiTreeUtil.findElementOfClassAtOffset(containingFile, lineStartOffset, KtExpression::class.java, false) - if (result.check()) { - return CodeInsightUtils.getTopmostElementAtOffset(result!!, lineStartOffset, KtExpression::class.java) - } + fun KtElement.takeIfAcceptedAsCodeFragmentContext() = takeIf { KotlinEditorTextProvider.isAcceptedAsCodeFragmentContext(it) } - result = KotlinEditorTextProvider.findExpressionInner(elementAt, true) - if (result.check()) { - return result - } + PsiTreeUtil.findElementOfClassAtOffset(containingFile, lineStartOffset, KtExpression::class.java, false) + ?.takeIfAcceptedAsCodeFragmentContext() + ?.let { return CodeInsightUtils.getTopmostElementAtOffset(it, lineStartOffset, KtExpression::class.java) } + + KotlinEditorTextProvider.findExpressionInner(elementAt, true) + ?.takeIfAcceptedAsCodeFragmentContext() + ?.let { return it } return containingFile } - private fun KtElement?.check(): Boolean = this != null && KotlinEditorTextProvider.isAcceptedAsCodeFragmentContext(this) - //internal for tests fun createCodeFragmentForLabeledObjects(project: Project, markupMap: Map<*, ValueMarkup>): Pair> { @Suppress("UNCHECKED_CAST")