From c8080e5f06092d9a6e83bef9f3e9a982e9f5de44 Mon Sep 17 00:00:00 2001 From: "Alexey.Merkulov" Date: Wed, 29 Jan 2025 19:12:07 +0000 Subject: [PATCH] [debugger] Fix statistics about evaluator compilation failures Fixed evaluation.result event. Note, the statistics were correct for the analysis.compilation.result IDEA-366380 (cherry picked from commit 90b8f35bc6b9e8c08ef06b965088c509fc17d3c0) Merge-request: IJ-MR-153908 Merged-by: Alexey Merkulov GitOrigin-RevId: 47c80ce393305490a467cba3cd743f8b6c343218 --- .../idea/debugger/evaluate/K1KotlinCodeFragmentCompiler.kt | 2 ++ .../idea/debugger/evaluate/KotlinCodeFragmentCompiler.kt | 4 ++++ .../idea/debugger/evaluate/KotlinEvaluatorBuilder.kt | 7 ++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/plugins/kotlin/jvm-debugger/evaluation/k1/src/org/jetbrains/kotlin/idea/debugger/evaluate/K1KotlinCodeFragmentCompiler.kt b/plugins/kotlin/jvm-debugger/evaluation/k1/src/org/jetbrains/kotlin/idea/debugger/evaluate/K1KotlinCodeFragmentCompiler.kt index 391ce6f2c716..aeec96ed19f6 100644 --- a/plugins/kotlin/jvm-debugger/evaluation/k1/src/org/jetbrains/kotlin/idea/debugger/evaluate/K1KotlinCodeFragmentCompiler.kt +++ b/plugins/kotlin/jvm-debugger/evaluation/k1/src/org/jetbrains/kotlin/idea/debugger/evaluate/K1KotlinCodeFragmentCompiler.kt @@ -22,6 +22,8 @@ import org.jetbrains.kotlin.resolve.jvm.diagnostics.ErrorsJvm import java.util.* class K1KotlinCodeFragmentCompiler : KotlinCodeFragmentCompiler { + override val compilerType: CompilerType = CompilerType.IR + override fun compileCodeFragment( context: ExecutionContext, codeFragment: KtCodeFragment diff --git a/plugins/kotlin/jvm-debugger/evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinCodeFragmentCompiler.kt b/plugins/kotlin/jvm-debugger/evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinCodeFragmentCompiler.kt index c4f8c8670c40..90505717528b 100644 --- a/plugins/kotlin/jvm-debugger/evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinCodeFragmentCompiler.kt +++ b/plugins/kotlin/jvm-debugger/evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinCodeFragmentCompiler.kt @@ -32,6 +32,8 @@ import org.jetbrains.kotlin.psi.KtOperationReferenceExpression import java.util.concurrent.ExecutionException interface KotlinCodeFragmentCompiler { + val compilerType: CompilerType + fun compileCodeFragment(context: ExecutionContext, codeFragment: KtCodeFragment): CompiledCodeFragmentData companion object { @@ -40,6 +42,8 @@ interface KotlinCodeFragmentCompiler { } class K2KotlinCodeFragmentCompiler : KotlinCodeFragmentCompiler { + override val compilerType: CompilerType = CompilerType.K2 + @OptIn(KaExperimentalApi::class) override fun compileCodeFragment( context: ExecutionContext, diff --git a/plugins/kotlin/jvm-debugger/evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinEvaluatorBuilder.kt b/plugins/kotlin/jvm-debugger/evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinEvaluatorBuilder.kt index 0c3bf4182589..2505b7de0231 100644 --- a/plugins/kotlin/jvm-debugger/evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinEvaluatorBuilder.kt +++ b/plugins/kotlin/jvm-debugger/evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinEvaluatorBuilder.kt @@ -139,7 +139,12 @@ class KotlinEvaluator(val codeFragment: KtCodeFragment, private val sourcePositi is EvaluateException -> StatisticsEvaluationResult.COMPILER_INTERNAL_ERROR else -> StatisticsEvaluationResult.UNCLASSIFIED_COMPILATION_PROBLEM } - KotlinDebuggerEvaluatorStatisticsCollector.logEvaluationResult(codeFragment.project, evaluationResultValue, CompilerType.K2, context.evaluationContext.origin) + KotlinDebuggerEvaluatorStatisticsCollector.logEvaluationResult( + codeFragment.project, + evaluationResultValue, + KotlinCodeFragmentCompiler.getInstance().compilerType, + context.evaluationContext.origin + ) } throw e }