From 5308bbbcf8005560478d221d44f00fd2849d44f0 Mon Sep 17 00:00:00 2001 From: Joe Darcy Date: Mon, 18 Sep 2023 20:40:01 +0000 Subject: [PATCH] 8246280: Refine API to model sealed classes and interfaces in javax.lang.model Reviewed-by: vromero, jjg --- .../share/classes/javax/lang/model/element/TypeElement.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java b/src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java index b99903a03fe..d430e33e591 100644 --- a/src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java +++ b/src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java @@ -255,6 +255,8 @@ public interface TypeElement extends Element, Parameterizable, QualifiedNameable /** * Returns the permitted classes of this class or interface * element in declaration order. + * Note that for an interface, permitted subclasses and + * subinterfaces can be returned. * * @implSpec The default implementations of this method returns an * empty and unmodifiable list. @@ -262,6 +264,8 @@ public interface TypeElement extends Element, Parameterizable, QualifiedNameable * @return the permitted classes, or an empty list if there are none * * @since 17 + * @jls 8.1.6 Permitted Direct Subclasses + * @jls 9.1.4 Permitted Direct Subclasses and Subinterfaces */ default List getPermittedSubclasses() { return List.of();