mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 23:04:50 +02:00
8268124: Update java.lang to use switch expressions
Reviewed-by: naoto, darcy, mchung, iris, lancea, dfuchs
This commit is contained in:
parent
a187fcc3ec
commit
d43c8a74b3
22 changed files with 421 additions and 551 deletions
|
@ -5175,13 +5175,13 @@ assert((int)twice.invokeExact(21) == 42);
|
|||
Wrapper w = Wrapper.forPrimitiveType(ptype);
|
||||
// perform unboxing and/or primitive conversion
|
||||
value = w.convert(value, ptype);
|
||||
switch (w) {
|
||||
case INT: return result.bindArgumentI(pos, (int)value);
|
||||
case LONG: return result.bindArgumentJ(pos, (long)value);
|
||||
case FLOAT: return result.bindArgumentF(pos, (float)value);
|
||||
case DOUBLE: return result.bindArgumentD(pos, (double)value);
|
||||
default: return result.bindArgumentI(pos, ValueConversions.widenSubword(value));
|
||||
}
|
||||
return switch (w) {
|
||||
case INT -> result.bindArgumentI(pos, (int) value);
|
||||
case LONG -> result.bindArgumentJ(pos, (long) value);
|
||||
case FLOAT -> result.bindArgumentF(pos, (float) value);
|
||||
case DOUBLE -> result.bindArgumentD(pos, (double) value);
|
||||
default -> result.bindArgumentI(pos, ValueConversions.widenSubword(value));
|
||||
};
|
||||
}
|
||||
|
||||
private static Class<?>[] insertArgumentsChecks(MethodHandle target, int insCount, int pos) throws RuntimeException {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue