diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiLabeledStatementImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiLabeledStatementImpl.java index 14dee8b04c57..a6700056eeab 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiLabeledStatementImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiLabeledStatementImpl.java @@ -102,7 +102,7 @@ public class PsiLabeledStatementImpl extends CompositePsiElement implements PsiL @Override public boolean processDeclarations(@NotNull PsiScopeProcessor processor, @NotNull ResolveState state, PsiElement lastParent, @NotNull PsiElement place) { - if (lastParent != null && lastParent.getParent() != this){ + if (lastParent == null || lastParent.getParent() != this){ PsiElement[] children = getChildren(); for (PsiElement aChildren : children) { if (!aChildren.processDeclarations(processor, state, null, place)) { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlightingPatterns/InstanceOfControlFlow.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlightingPatterns/InstanceOfControlFlow.java index 6ac423d006cb..0cef91829525 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlightingPatterns/InstanceOfControlFlow.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlightingPatterns/InstanceOfControlFlow.java @@ -117,4 +117,12 @@ class X { } System.out.println("Found: "+s.trim()); } + + void testLabel() { + Object o = "hello"; + L0: if(!(o instanceof String s)) { + return; + } + System.out.println(s.length()); + } } \ No newline at end of file