From 2309751ee9e36e22e9163a2483d6bb5331e23803 Mon Sep 17 00:00:00 2001 From: Natalia Ukhorskaya Date: Wed, 23 Apr 2014 15:46:24 +0400 Subject: [PATCH] CodeFragment: find inner expression correctly --- .../jet/lang/psi/JetExpressionCodeFragmentImpl.kt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetExpressionCodeFragmentImpl.kt b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetExpressionCodeFragmentImpl.kt index 8d6e5ab086a..a5f61546c80 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetExpressionCodeFragmentImpl.kt +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetExpressionCodeFragmentImpl.kt @@ -73,7 +73,19 @@ class JetExpressionCodeFragmentImpl( return true } - override fun getExpression() = findChildByClass(javaClass()) + override fun getExpression(): JetExpression? { + var resultingExpression: JetExpression? = null + this.accept(object: JetTreeVisitor() { + override fun visitExpression(expression: JetExpression, data: Void?): Void? { + resultingExpression = expression + return null + } + + override fun visitElement(element: PsiElement) = element.acceptChildren(this) + + }, null) + return resultingExpression + } class object { val IMPORT_SEPARATOR = ","