From aa9382fefa4d57264e0de55e23ff965c39c7b561 Mon Sep 17 00:00:00 2001 From: Natalia Ukhorskaya Date: Wed, 13 Aug 2014 12:33:29 +0400 Subject: [PATCH] Debugger: report LOG.ERROR in kotlin.internal.mode for exceptions from extract function --- .../evaluate/extractFunctionForDebuggerUtil.kt | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/debugger/evaluate/extractFunctionForDebuggerUtil.kt b/idea/src/org/jetbrains/jet/plugin/debugger/evaluate/extractFunctionForDebuggerUtil.kt index 8ce22d3bcb6..955a9b57529 100644 --- a/idea/src/org/jetbrains/jet/plugin/debugger/evaluate/extractFunctionForDebuggerUtil.kt +++ b/idea/src/org/jetbrains/jet/plugin/debugger/evaluate/extractFunctionForDebuggerUtil.kt @@ -19,7 +19,6 @@ package org.jetbrains.jet.plugin.debugger.evaluate import com.intellij.psi.PsiFile import org.jetbrains.jet.plugin.refactoring.extractFunction.AnalysisResult import org.jetbrains.jet.plugin.refactoring.extractFunction.AnalysisResult.ErrorMessage -import org.jetbrains.jet.lang.psi.JetFile import org.jetbrains.jet.plugin.codeInsight.CodeInsightUtils import org.jetbrains.jet.plugin.refactoring.createTempCopy import org.jetbrains.jet.lang.psi.codeFragmentUtil.skipVisibilityCheck @@ -30,18 +29,15 @@ import org.jetbrains.jet.plugin.refactoring.extractFunction.performAnalysis import org.jetbrains.jet.plugin.refactoring.extractFunction.AnalysisResult.Status import com.intellij.debugger.engine.evaluation.EvaluateExceptionUtil import org.jetbrains.jet.plugin.refactoring.extractFunction.validate -import org.jetbrains.jet.lang.psi.JetImportList -import org.jetbrains.jet.lang.psi.JetPsiFactory -import org.jetbrains.jet.lang.psi.JetExpression import org.jetbrains.jet.plugin.refactoring.extractFunction.ExtractionOptions import org.jetbrains.jet.plugin.refactoring.runReadAction import com.intellij.psi.PsiManager import com.intellij.psi.impl.PsiModificationTrackerImpl import org.jetbrains.jet.lang.psi.* import org.jetbrains.jet.plugin.intentions.InsertExplicitTypeArguments -import com.intellij.psi.util.PsiTreeUtil import org.jetbrains.jet.plugin.refactoring.extractFunction.ExtractionGeneratorOptions import org.jetbrains.jet.plugin.refactoring.extractFunction.generateDeclaration +import org.jetbrains.jet.plugin.actions.internal.KotlinInternalMode import org.jetbrains.jet.lang.psi.psiUtil.replaced fun getFunctionForExtractedFragment( @@ -51,6 +47,14 @@ fun getFunctionForExtractedFragment( ): JetNamedFunction? { fun getErrorMessageForExtractFunctionResult(analysisResult: AnalysisResult): String { + if (KotlinInternalMode.enabled) { + logger.error("Couldn't extract function for debugger:\n" + + "FILE NAME: ${breakpointFile.getName()}\n" + + "BREAKPOINT LINE: ${breakpointLine}\n" + + "CODE FRAGMENT:\n${codeFragment.getText()}\n" + + "ERRORS:\n${analysisResult.messages.map { "$it: ${it.renderMessage()}" }.joinToString("\n")}\n" + + "FILE TEXT: \n${breakpointFile.getText()}\n") + } return analysisResult.messages.map { errorMessage -> val message = when(errorMessage) { ErrorMessage.NO_EXPRESSION -> "Cannot perform an action without an expression"