diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/KtBlockExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtBlockExpression.java index c5b84806c0c..d9ce4e6a867 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/psi/KtBlockExpression.java +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/KtBlockExpression.java @@ -123,6 +123,11 @@ public class KtBlockExpression extends LazyParseablePsiElement implements KtElem return substitute != null ? substitute : super.getParent(); } + @Nullable + public KtExpression getFirstStatement() { + return findChildByClass(KtExpression.class); + } + @ReadOnly @NotNull public List getStatements() { diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt index b37daf38e8d..d34c75a4158 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt @@ -323,7 +323,7 @@ fun KtElement.isFirstStatement(): Boolean { element = parent parent = parent.parent } - return parent is KtBlockExpression && parent.children.first { it is KtElement } == element + return parent is KtBlockExpression && parent.firstStatement == element } @@ -671,4 +671,4 @@ fun KtExpression.topParenthesizedParentOrMe(): KtExpression { result = result.parent.safeAs() ?: break } return result -} \ No newline at end of file +}