Debugger: do not fail if j2k couldn't convert expression creating codeFragment from text
This commit is contained in:
committed by
Nikolay Krasko
parent
c023831a00
commit
4d6c83b5b9
+18
-12
@@ -242,21 +242,27 @@ class KotlinCodeFragmentFactory: CodeFragmentFactory() {
|
|||||||
null
|
null
|
||||||
}
|
}
|
||||||
|
|
||||||
if (javaExpression != null) {
|
if (javaExpression != null && !PsiTreeUtil.hasErrorElements(javaExpression)) {
|
||||||
var convertedFragment: KtExpressionCodeFragment? = null
|
var convertedFragment: KtExpressionCodeFragment? = null
|
||||||
project.executeWriteCommand("Convert java expression to kotlin in Evaluate Expression") {
|
project.executeWriteCommand("Convert java expression to kotlin in Evaluate Expression") {
|
||||||
val newText = javaExpression.j2kText()
|
try {
|
||||||
val newImports = importList?.j2kText()
|
val newText = javaExpression.j2kText()
|
||||||
if (newText != null) {
|
val newImports = importList?.j2kText()
|
||||||
convertedFragment = KtExpressionCodeFragment(
|
if (newText != null) {
|
||||||
project,
|
convertedFragment = KtExpressionCodeFragment(
|
||||||
kotlinCodeFragment.name,
|
project,
|
||||||
newText,
|
kotlinCodeFragment.name,
|
||||||
newImports,
|
newText,
|
||||||
kotlinCodeFragment.context
|
newImports,
|
||||||
)
|
kotlinCodeFragment.context
|
||||||
|
)
|
||||||
|
|
||||||
AfterConversionPass(project, J2kPostProcessor(formatCode = false)).run(convertedFragment!!, range = null)
|
AfterConversionPass(project, J2kPostProcessor(formatCode = false)).run(convertedFragment!!, range = null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (e: Throwable) {
|
||||||
|
// ignored because text can be invalid
|
||||||
|
LOG.error("Couldn't convert expression:\n`${javaExpression.text}`", e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return convertedFragment ?: kotlinCodeFragment
|
return convertedFragment ?: kotlinCodeFragment
|
||||||
|
|||||||
Reference in New Issue
Block a user