Interface InnerClassesAttribute
- All Superinterfaces:
Attribute<InnerClassesAttribute>, ClassElement, ClassFileElement
public sealed interface InnerClassesAttribute extends Attribute<InnerClassesAttribute>, ClassElement
Models the
InnerClasses attribute (JVMS §4.7.6), which records which classes referenced by this class file are nested classes. This attribute only appears on classes, and does not permit multiple instances in a class. It has a data dependency on the constant pool.
The attribute was introduced in the Java SE Platform version 1.1, major version 45.
- See Java Virtual Machine Specification:
- 4.7.6 The
InnerClassesAttribute
- Since:
- 24
- See Also:
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
List |
classes() |
Returns the nested classes used by this class file. |
static InnerClassesAttribute |
of |
Returns an InnerClasses attribute. |
static InnerClassesAttribute |
of |
Returns an InnerClasses attribute. |
Methods declared in interface Attribute
attributeMapper, attributeName | Modifier and Type | Method | Description |
|---|---|---|
AttributeMapper |
attributeMapper() |
Returns the AttributeMapper associated with this attribute. |
Utf8Entry |
attributeName() |
Returns the name of the attribute. |
Method Details
classes
List<InnerClassInfo> classes()
Returns the nested classes used by this
class file.- Returns:
- the nested classes used by this
classfile
of
static InnerClassesAttribute of(List<InnerClassInfo> innerClasses)
Returns an
InnerClasses attribute.- Parameters:
-
innerClasses- descriptions of the nested classes - Returns:
- an
InnerClassesattribute - Throws:
-
IllegalArgumentException- if the number of descriptions exceeds the limit ofu2
of
static InnerClassesAttribute of(InnerClassInfo... innerClasses)
Returns an
InnerClasses attribute.- Parameters:
-
innerClasses- descriptions of the nested classes - Returns:
- an
InnerClassesattribute - Throws:
-
IllegalArgumentException- if the number of descriptions exceeds the limit ofu2
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.