Skip to content

Commit c92e38c

Browse files
committed
[JVMCI] Make ResolvedJavaType return a List<? extends JavaType> [GR-70208]
1 parent 93a16f0 commit c92e38c

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ResolvedJavaType.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,12 +258,13 @@ default ResolvedJavaType getElementalType() {
258258
* whether a type is a direct or indirect permitted subtype. The order of the results matches
259259
* that of {@link Class#getPermittedSubclasses()}.
260260
* <p>
261-
* If the type is not sealed, returns {@code null}.
261+
* If this type is not sealed, returns {@code null}. Returning a list with length 0 means
262+
* this type is sealed and has no permitted subclasses. That is, it is effectively final.
262263
*
263264
* @return unmodifiable list of permitted subtypes, or {@code null} if this type is not sealed
264265
* @see Class#getPermittedSubclasses()
265266
*/
266-
List<JavaType> getPermittedSubclasses();
267+
List<? extends JavaType> getPermittedSubclasses();
267268

268269
/**
269270
* Returns {@code true} if and only if this type represents a sealed class or

test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -740,7 +740,7 @@ public void getPermittedSubclassesTest() {
740740
private void assertGetPermittedSubclasses(Class<?> clazz) {
741741
ResolvedJavaType type = metaAccess.lookupJavaType(clazz);
742742
assertEquals("Sealed status mismatch for class '" + clazz.getName(), clazz.isSealed(), type.isSealed());
743-
List<JavaType> actual = type.getPermittedSubclasses();
743+
List<? extends JavaType> actual = type.getPermittedSubclasses();
744744
Class<?>[] expected = clazz.getPermittedSubclasses();
745745
if (expected == null) {
746746
assertNull(actual);
@@ -1356,7 +1356,7 @@ public void getAnnotationDataTest() throws Exception {
13561356
"getElementalType",
13571357
"getEnclosingType",
13581358
"lookupType",
1359-
"isSealed", // tested with getPermittedSubsclasses
1359+
"isSealed", // tested with getPermittedSubclasses
13601360
"resolveField",
13611361
"$jacocoInit"
13621362
};

0 commit comments

Comments
 (0)