mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 22:34:27 +02:00
8336032: Enforce immutability of Lists used by ClassFile API
Reviewed-by: asotona
This commit is contained in:
parent
a91f9ba849
commit
6154a2129b
11 changed files with 29 additions and 13 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2022, 2024, 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
|
||||
|
@ -25,6 +25,7 @@
|
|||
package java.lang.classfile;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
|
@ -83,6 +84,6 @@ public sealed interface AttributedElement extends ClassFileElement
|
|||
list.add(t);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
return Collections.unmodifiableList(list);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -76,7 +76,7 @@ public sealed interface ClassSignature
|
|||
Signature.ClassTypeSig superclassSignature,
|
||||
Signature.ClassTypeSig... superinterfaceSignatures) {
|
||||
return new SignaturesImpl.ClassSignatureImpl(
|
||||
requireNonNull(typeParameters),
|
||||
List.copyOf(requireNonNull(typeParameters)),
|
||||
requireNonNull(superclassSignature),
|
||||
List.of(superinterfaceSignatures));
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
package java.lang.classfile;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Spliterator;
|
||||
|
@ -90,7 +91,7 @@ public sealed interface CompoundElement<E extends ClassFileElement>
|
|||
list.add(e);
|
||||
}
|
||||
});
|
||||
return list;
|
||||
return Collections.unmodifiableList(list);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue