8267587: Update java.util to use enhanced switch

Reviewed-by: iris
This commit is contained in:
Tagir F. Valeev 2021-05-31 08:48:38 +00:00
parent 35916ed57f
commit ab5a7ff230
15 changed files with 556 additions and 776 deletions

View file

@ -88,14 +88,12 @@ final class Nodes {
*/
@SuppressWarnings("unchecked")
static <T> Node<T> emptyNode(StreamShape shape) {
switch (shape) {
case REFERENCE: return (Node<T>) EMPTY_NODE;
case INT_VALUE: return (Node<T>) EMPTY_INT_NODE;
case LONG_VALUE: return (Node<T>) EMPTY_LONG_NODE;
case DOUBLE_VALUE: return (Node<T>) EMPTY_DOUBLE_NODE;
default:
throw new IllegalStateException("Unknown shape " + shape);
}
return (Node<T>) switch (shape) {
case REFERENCE -> EMPTY_NODE;
case INT_VALUE -> EMPTY_INT_NODE;
case LONG_VALUE -> EMPTY_LONG_NODE;
case DOUBLE_VALUE -> EMPTY_DOUBLE_NODE;
};
}
/**
@ -119,18 +117,12 @@ final class Nodes {
*/
@SuppressWarnings("unchecked")
static <T> Node<T> conc(StreamShape shape, Node<T> left, Node<T> right) {
switch (shape) {
case REFERENCE:
return new ConcNode<>(left, right);
case INT_VALUE:
return (Node<T>) new ConcNode.OfInt((Node.OfInt) left, (Node.OfInt) right);
case LONG_VALUE:
return (Node<T>) new ConcNode.OfLong((Node.OfLong) left, (Node.OfLong) right);
case DOUBLE_VALUE:
return (Node<T>) new ConcNode.OfDouble((Node.OfDouble) left, (Node.OfDouble) right);
default:
throw new IllegalStateException("Unknown shape " + shape);
}
return (Node<T>) switch (shape) {
case REFERENCE -> new ConcNode<>(left, right);
case INT_VALUE -> new ConcNode.OfInt((Node.OfInt) left, (Node.OfInt) right);
case LONG_VALUE -> new ConcNode.OfLong((Node.OfLong) left, (Node.OfLong) right);
case DOUBLE_VALUE -> new ConcNode.OfDouble((Node.OfDouble) left, (Node.OfDouble) right);
};
}
// Reference-based node methods