From 35579775884475540815b5cf62c682fb590bfb02 Mon Sep 17 00:00:00 2001 From: Natalia Ukhorskaya Date: Mon, 26 May 2014 17:52:37 +0400 Subject: [PATCH] Evaluate expression: ClassCastException trying evaluate kotlin expression from java file EA-56624 Fixed --- .../debugger/evaluate/KotlinEvaluationBuilder.kt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/debugger/evaluate/KotlinEvaluationBuilder.kt b/idea/src/org/jetbrains/jet/plugin/debugger/evaluate/KotlinEvaluationBuilder.kt index 22953690162..f82712de6bd 100644 --- a/idea/src/org/jetbrains/jet/plugin/debugger/evaluate/KotlinEvaluationBuilder.kt +++ b/idea/src/org/jetbrains/jet/plugin/debugger/evaluate/KotlinEvaluationBuilder.kt @@ -77,12 +77,14 @@ object KotlinEvaluationBuilder: EvaluatorBuilder { return EvaluatorBuilderImpl.getInstance()!!.build(codeFragment, position) } - val elementAt = position.getElementAt() - if (elementAt != null) { - val packageName = (elementAt.getContainingFile() as JetFile).getPackageDirective()?.getFqName()?.asString() - if (packageName != null) { - codeFragment.addImportsFromString("import $packageName.*") - } + val file = position.getFile() + if (file !is JetFile) { + throw EvaluateExceptionUtil.createEvaluateException("Couldn't evaluate kotlin expression in non-kotlin context") + } + + val packageName = file.getPackageDirective()?.getFqName()?.asString() + if (packageName != null) { + codeFragment.addImportsFromString("import $packageName.*") } return ExpressionEvaluatorImpl(KotlinEvaluator(codeFragment as JetCodeFragment, position)) }