From 43008b42cf98466b4c4528d357bfcc2ae309770a Mon Sep 17 00:00:00 2001 From: Per Minborg Date: Mon, 12 May 2025 07:12:19 +0000 Subject: [PATCH] 8356486: ReverseOrderListView should override reversed() to return `base` Reviewed-by: liach, smarks --- .../share/classes/java/util/ReverseOrderListView.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/java.base/share/classes/java/util/ReverseOrderListView.java b/src/java.base/share/classes/java/util/ReverseOrderListView.java index f48b41920c9..9d6d856bdb6 100644 --- a/src/java.base/share/classes/java/util/ReverseOrderListView.java +++ b/src/java.base/share/classes/java/util/ReverseOrderListView.java @@ -43,9 +43,7 @@ class ReverseOrderListView implements List { final boolean modifiable; public static List of(List list, boolean modifiable) { - if (list instanceof ReverseOrderListView rolv) { - return rolv.base; - } else if (list instanceof RandomAccess) { + if (list instanceof RandomAccess) { return new ReverseOrderListView.Rand<>(list, modifiable); } else { return new ReverseOrderListView<>(list, modifiable); @@ -395,6 +393,10 @@ class ReverseOrderListView implements List { return new ReverseOrderListView<>(base.subList(size - toIndex, size - fromIndex), modifiable); } + public List reversed() { + return base; + } + static void checkClosedRange(int index, int size) { if (index < 0 || index > size) { throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);