Browse Source

Add 'yield' usage to Java 12/13 switch expressions tests

So far this was a slight oversight, no test using 'yield' existed in the
'features193' test suite. Better late than never.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
tags/java16-add-opens
Alexander Kriegisch 3 years ago
parent
commit
5883007858
3 changed files with 28 additions and 19 deletions
  1. 9
    6
      tests/features193/Switch1.java
  2. 9
    6
      tests/features193/Switch2.java
  3. 10
    7
      tests/features193/Switch3.java

+ 9
- 6
tests/features193/Switch1.java View File

@@ -7,11 +7,14 @@ public class Switch1 {
}

public static int one(Color color) {
int result = switch(color) {
case R -> 0;
case G -> 1;
case B -> 2;
default -> 3;
int result = switch (color) {
case R -> 0;
case G -> {
int number4 = 8 / 2;
yield number4 /4;
}
case B -> 2;
default -> 3;
};
return result;
}
@@ -19,4 +22,4 @@ public class Switch1 {

enum Color {
R, G, B, Y;
}
}

+ 9
- 6
tests/features193/Switch2.java View File

@@ -7,11 +7,14 @@ public class Switch2 {
}

public static int one(Color color) {
int result = switch(color) {
case R -> 0;
case G -> 1;
case B -> 2;
default -> 3;
int result = switch (color) {
case R -> 0;
case G -> {
int number4 = 8 / 2;
yield number4 /4;
}
case B -> 2;
default -> 3;
};
return result;
}
@@ -25,4 +28,4 @@ aspect X {
int around(): call(* one(..)) {
return proceed()*2;
}
}
}

+ 10
- 7
tests/features193/Switch3.java View File

@@ -7,15 +7,18 @@ public class Switch3 {
}

public static int one(Color color) {
int result = switch(color) {
case R -> foo(0);
case G -> foo(1);
case B -> foo(2);
default -> foo(3);
int result = switch (color) {
case R -> foo(0);
case G -> {
int number4 = foo(1) - 2;
yield number4 +2;
}
case B -> foo(2);
default -> foo(3);
};
return result;
}
public static final int foo(int i) {
return i+1;
}
@@ -29,4 +32,4 @@ aspect X {
int around(): call(* foo(..)) {
return proceed()*3;
}
}
}

Loading…
Cancel
Save