class X { int switchTest1(Object obj) { return switch (obj) { case (String s) -> 1; case Integer i && predicate() -> 2; case Integer i -> 3; case default -> 4; case null -> 10; case Point() point -> 5; case Point(double x, double y) -> 6; }; } int switchTest2(int i) { return switch (i) { case Integer integer -> "int"; case Object obj -> "Object"; default -> "not ok"; }; } int instanceofTest(Object obj) { if (obj instanceof (Integer i && predicate())) { return 1; } if (obj instanceof (String s)) { return 3; } return 2; } native static boolean predicate(); }