From eeb158a5c8c91b1645ad242c913a9e060952aa28 Mon Sep 17 00:00:00 2001 From: "Natalia.Ukhorskaya" Date: Wed, 13 Feb 2013 19:02:58 +0400 Subject: [PATCH] Check that found expression has correct start and end offset --- .../jet/plugin/codeInsight/CodeInsightUtils.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/CodeInsightUtils.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/CodeInsightUtils.java index 408d02fc12c..157820cf3b0 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/CodeInsightUtils.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/CodeInsightUtils.java @@ -102,8 +102,16 @@ public class CodeInsightUtils { if (element1 == null || element2 == null) return null; - return PsiTreeUtil.findElementOfClassAtRange(file, element1.getTextRange().getStartOffset(), - element2.getTextRange().getEndOffset(), aClass); + startOffset = element1.getTextRange().getStartOffset(); + endOffset = element2.getTextRange().getEndOffset(); + + JetExpression jetExpression = PsiTreeUtil.findElementOfClassAtRange(file, startOffset, endOffset, aClass); + if (jetExpression == null || + jetExpression.getTextRange().getStartOffset() != startOffset || + jetExpression.getTextRange().getEndOffset() != endOffset) { + return null; + } + return jetExpression; } @Nullable