diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java index f9fe48793d1e..6634492fde73 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java @@ -436,8 +436,7 @@ public class HighlightUtil extends HighlightUtilBase { .range(typeElement).create(); } - PsiLocalVariable[] localVariables = PsiTreeUtil.getChildrenOfType(parent, PsiLocalVariable.class); - if (localVariables != null && localVariables.length > 1) { + if (parent instanceof PsiDeclarationStatement && ((PsiDeclarationStatement)parent).getDeclaredElements().length > 1) { return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR) .descriptionAndTooltip("'var' is not allowed in a compound declaration") .range(variable).create(); diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/RedundantExplicitVariableTypeInspection.java b/java/java-analysis-impl/src/com/intellij/codeInspection/RedundantExplicitVariableTypeInspection.java index 68947c0db88e..7d5f51af9762 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/RedundantExplicitVariableTypeInspection.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/RedundantExplicitVariableTypeInspection.java @@ -19,7 +19,6 @@ import com.intellij.openapi.project.Project; import com.intellij.pom.java.LanguageLevel; import com.intellij.psi.*; import com.intellij.psi.codeStyle.CodeStyleManager; -import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; @@ -36,8 +35,10 @@ public class RedundantExplicitVariableTypeInspection extends BaseJavaBatchLocalI public void visitLocalVariable(PsiLocalVariable variable) { PsiTypeElement typeElement = variable.getTypeElement(); if (!typeElement.isInferredType()) { - PsiLocalVariable[] variables = PsiTreeUtil.getChildrenOfType(variable.getParent(), PsiLocalVariable.class); - if (variables == null || variables.length > 1) return; + PsiElement parent = variable.getParent(); + if (parent instanceof PsiDeclarationStatement && ((PsiDeclarationStatement)parent).getDeclaredElements().length > 1) { + return; + } doCheck(variable, (PsiLocalVariable)variable.copy(), typeElement); } } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advLVTI/SimpleAvailability.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advLVTI/SimpleAvailability.java index b4779d13fe91..b63fda070600 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advLVTI/SimpleAvailability.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advLVTI/SimpleAvailability.java @@ -54,7 +54,7 @@ class Main { private void tryWithResources(AutoCloseable c) throws Exception { try (var v = null) { } - try (var v = c) { } + try (var v = c; var v1 = c) { } } }