From a6ea6ed644554b090f7ceb84c5716fa863f361cd Mon Sep 17 00:00:00 2001 From: Mikhail Pyltsin Date: Tue, 19 Mar 2024 18:55:34 +0100 Subject: [PATCH] [java-inspections] IJ-CR-125834 EA-1063946 more filters for yield statements - more tests GitOrigin-RevId: 83b0ffbbeb982d269a8fc0333e6d7cf6799d1c1b --- .../beforeBrokenSwitchYieldStatement2.java | 32 +++++++++++-------- .../beforeBrokenSwitchYieldStatement3.java | 17 ++++++++++ 2 files changed, 36 insertions(+), 13 deletions(-) create mode 100644 java/java-tests/testData/inspection/switchExpressionMigration/beforeBrokenSwitchYieldStatement3.java diff --git a/java/java-tests/testData/inspection/switchExpressionMigration/beforeBrokenSwitchYieldStatement2.java b/java/java-tests/testData/inspection/switchExpressionMigration/beforeBrokenSwitchYieldStatement2.java index 12a060f481ec..4691505650a4 100644 --- a/java/java-tests/testData/inspection/switchExpressionMigration/beforeBrokenSwitchYieldStatement2.java +++ b/java/java-tests/testData/inspection/switchExpressionMigration/beforeBrokenSwitchYieldStatement2.java @@ -1,17 +1,23 @@ // "Replace with 'switch' expression" "false" import java.util.*; -class Switch { - void test(Integer o) { - String s = ""; - switch (o) { - case 1: - s = ""; - break; - default: - System.out.println("1"); - s = o.toString(), o.toString(); - break; - } ; +class NestedPatterns { + public static List> parse(String value) { + switch (value) { + case "string": + return List.of(String.class); + case "boolean": + return List.of(Boolean.class); + default: { + String trimmed = value.trim(); + if (trimmed.endsWith("2113[]")) { + List> children = new ArrayList<>(); + children.add(List.class); + children.addAll(parse(trimmed.substring(0, trimmed.length() - 2))); + return {}; + } + throw new IllegalArgumentException(trimmed); + } } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/java/java-tests/testData/inspection/switchExpressionMigration/beforeBrokenSwitchYieldStatement3.java b/java/java-tests/testData/inspection/switchExpressionMigration/beforeBrokenSwitchYieldStatement3.java new file mode 100644 index 000000000000..12a060f481ec --- /dev/null +++ b/java/java-tests/testData/inspection/switchExpressionMigration/beforeBrokenSwitchYieldStatement3.java @@ -0,0 +1,17 @@ +// "Replace with 'switch' expression" "false" +import java.util.*; + +class Switch { + void test(Integer o) { + String s = ""; + switch (o) { + case 1: + s = ""; + break; + default: + System.out.println("1"); + s = o.toString(), o.toString(); + break; + } ; + } + } \ No newline at end of file