From 50e7b23972e6b91077428eae31c2c3c61e14e348 Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Thu, 3 Mar 2016 20:49:06 +0100 Subject: [PATCH] IDEA-152313 (Structural replace with local variable definition leads to inconsistent state with IDEA error highlighter) --- .../com/intellij/structuralsearch/JavaReplaceHandler.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/java/structuralsearch-java/src/com/intellij/structuralsearch/JavaReplaceHandler.java b/java/structuralsearch-java/src/com/intellij/structuralsearch/JavaReplaceHandler.java index fd8be70e6759..368639c5e02a 100644 --- a/java/structuralsearch-java/src/com/intellij/structuralsearch/JavaReplaceHandler.java +++ b/java/structuralsearch-java/src/com/intellij/structuralsearch/JavaReplaceHandler.java @@ -110,13 +110,11 @@ public class JavaReplaceHandler extends StructuralReplaceHandler { replacement = ((PsiExpressionStatement)replacement).getExpression(); } else if (replacement instanceof PsiDeclarationStatement && - ((PsiDeclarationStatement)replacement).getDeclaredElements().length == 1 - ) { + ((PsiDeclarationStatement)replacement).getDeclaredElements().length == 1 && + (elementToReplace instanceof PsiVariable || elementToReplace instanceof PsiClass)) { return ((PsiDeclarationStatement)replacement).getDeclaredElements()[0]; } - else if (replacement instanceof PsiBlockStatement && - elementToReplace instanceof PsiCodeBlock - ) { + else if (replacement instanceof PsiBlockStatement && elementToReplace instanceof PsiCodeBlock) { return ((PsiBlockStatement)replacement).getCodeBlock(); }