From 9080b357519fae78420ae2b982f8fafb8fa693b2 Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Fri, 30 Nov 2018 15:58:53 +0100 Subject: [PATCH] switch expression: support old syntax without braces IDEA-CR-40239 --- .../src/com/intellij/psi/util/PsiUtil.java | 3 +++ .../advHighlighting12/SimpleInferenceCases.java | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java b/java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java index 31a2ca526bf7..9a1368a32512 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java @@ -366,6 +366,9 @@ public final class PsiUtil extends PsiUtilCore { else if (statement instanceof PsiBlockStatement) { collectSwitchResultExpressions(result, (PsiBlockStatement)statement); } + else if (statement instanceof PsiBreakStatement) { + ContainerUtil.addIfNotNull(result, ((PsiBreakStatement)statement).getExpression()); + } } return result; } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting12/SimpleInferenceCases.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting12/SimpleInferenceCases.java index 73f0f8cf992e..599359a39f9a 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting12/SimpleInferenceCases.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting12/SimpleInferenceCases.java @@ -79,5 +79,21 @@ no instance(s) of type variable(s) exist so that Integer conforms to String">() }; } }; + + String s3 = switch (0) { + default: { + break switch (1) { + case 2: { + System.out.println(); + int inside_switch = switch (8) { + default: + break 1; + }; + } + default: + break 1; + }; + } + }; } } \ No newline at end of file