From 9c88a1f807c31d8e3b68ed6e6e31057c579e8f86 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Thu, 10 Oct 2019 22:37:41 +0900 Subject: [PATCH] Debugger: Fix language detection in FUS --- .../idea/debugger/evaluate/KotlinEvaluatorBuilder.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/idea/jvm-debugger/jvm-debugger-evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinEvaluatorBuilder.kt b/idea/jvm-debugger/jvm-debugger-evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinEvaluatorBuilder.kt index 272961ccf70..cfc9f46960c 100644 --- a/idea/jvm-debugger/jvm-debugger-evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinEvaluatorBuilder.kt +++ b/idea/jvm-debugger/jvm-debugger-evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinEvaluatorBuilder.kt @@ -103,10 +103,12 @@ class KotlinEvaluator(val codeFragment: KtCodeFragment, private val sourcePositi status.evaluationType(evaluationType) } - val language = when (codeFragment.language) { - KotlinLanguage.INSTANCE -> EvaluationContextLanguage.Kotlin - JavaLanguage.INSTANCE -> EvaluationContextLanguage.Java - else -> EvaluationContextLanguage.Other + val language = runReadAction { + when { + codeFragment.getCopyableUserData(KtCodeFragment.FAKE_CONTEXT_FOR_JAVA_FILE) != null -> EvaluationContextLanguage.Java + codeFragment.context?.language == KotlinLanguage.INSTANCE -> EvaluationContextLanguage.Kotlin + else -> EvaluationContextLanguage.Other + } } status.contextLanguage(language)