Skip to content

Commit b211c23

Browse files
remove preview only entries when completing directories
1 parent 05b4dd5 commit b211c23

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/java.base/share/classes/jdk/internal/jimage/ImageReader.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -678,10 +678,17 @@ private void completePackageSubdirectory(Directory dir, ImageLocation loc) {
678678
dir.setChildren(children);
679679
}
680680

681-
/** Returns the list of child preview nodes to be merged into the given directory. */
681+
/**
682+
* Returns the list of child preview nodes to be merged into the given directory.
683+
*
684+
* <p>Because this is only called once per-directory (since the result is cached
685+
* indefinitely) we can remove any entries we find from the cache. If ever the
686+
* node cache allowed entries to expire, this would have to be changed so that
687+
* directories could be completed more than once.
688+
*/
682689
List<Node> getPreviewNodesToMerge(Directory dir) {
683690
if (previewDirectoriesToMerge != null) {
684-
Directory mergeDir = previewDirectoriesToMerge.get(dir.getName());
691+
Directory mergeDir = previewDirectoriesToMerge.remove(dir.getName());
685692
if (mergeDir != null) {
686693
return mergeDir.children;
687694
}

0 commit comments

Comments
 (0)