From 92b0565b00fcdae354bd101c762974b47e075f40 Mon Sep 17 00:00:00 2001 From: April Ivy Date: Sun, 5 Jul 2026 07:22:35 +0000 Subject: [PATCH] 8386802: ClassFile Util.entryList should consider non-RandomAccess lists Reviewed-by: liach --- .../classes/jdk/internal/classfile/impl/Util.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/java.base/share/classes/jdk/internal/classfile/impl/Util.java b/src/java.base/share/classes/jdk/internal/classfile/impl/Util.java index 6411c939549..d19dd202432 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/impl/Util.java +++ b/src/java.base/share/classes/jdk/internal/classfile/impl/Util.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2022, 2026, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -189,16 +189,18 @@ public final class Util { public static List entryList(List list) { var result = new Object[list.size()]; // null check - for (int i = 0; i < result.length; i++) { - result[i] = TemporaryConstantPool.INSTANCE.classEntry(list.get(i)); + int i = 0; + for (var entry : list) { + result[i++] = TemporaryConstantPool.INSTANCE.classEntry(entry); } return SharedSecrets.getJavaUtilCollectionAccess().listFromTrustedArray(result); } public static List moduleEntryList(List list) { var result = new Object[list.size()]; // null check - for (int i = 0; i < result.length; i++) { - result[i] = TemporaryConstantPool.INSTANCE.moduleEntry(TemporaryConstantPool.INSTANCE.utf8Entry(list.get(i).name())); + int i = 0; + for (var entry : list) { + result[i++] = TemporaryConstantPool.INSTANCE.moduleEntry(entry); } return SharedSecrets.getJavaUtilCollectionAccess().listFromTrustedArray(result); }