class X { int switchTest(Object obj) { return switch (obj) { case Object(String s) -> 1; case Integer i when predicate() -> 2; case Integer i -> 3; case default -> 4; case null -> 10; }; } void caseDefaultTest(int num) { switch (num) { case default: break; } } int instanceofTest(Object obj) { if (obj instanceof Integer i && predicate()) { return 1; } return 2; } native static boolean predicate(); }