Interface NestMembersAttribute

All Superinterfaces:
Attribute<NestMembersAttribute>, ClassElement, ClassFileElement

public sealed interface NestMembersAttribute extends Attribute<NestMembersAttribute>, ClassElement
Models the NestMembers attribute (JVMS 4.7.29), which indicates that this class is the host of a nest and the other nest members.

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 11, major version 55.

See Java Virtual Machine Specification:
4.7.29 The NestMembers Attribute
Since:
24
See Also:
  • Method Details

    • nestMembers

      List<ClassEntry> nestMembers()
      Returns the classes belonging to the nest hosted by this class.
      Returns:
      the classes belonging to the nest hosted by this class
      See Also:
    • of

      static NestMembersAttribute of(List<ClassEntry> nestMembers)
      Returns a NestMembers attribute.
      Parameters:
      nestMembers - the member classes of the nest
      Returns:
      a NestMembers attribute
    • of

      static NestMembersAttribute of(ClassEntry... nestMembers)
      Returns a NestMembers attribute.
      Parameters:
      nestMembers - the member classes of the nest
      Returns:
      a NestMembers attribute
    • ofSymbols

      static NestMembersAttribute ofSymbols(List<ClassDesc> nestMembers)
      Returns a NestMembers attribute.
      Parameters:
      nestMembers - the member classes of the nest
      Returns:
      a NestMembers attribute
      Throws:
      IllegalArgumentException - if any of nestMembers is primitive
    • ofSymbols

      static NestMembersAttribute ofSymbols(ClassDesc... nestMembers)
      Returns a NestMembers attribute.
      Parameters:
      nestMembers - the member classes of the nest
      Returns:
      a NestMembers attribute
      Throws:
      IllegalArgumentException - if any of nestMembers is primitive