Class ModuleMainClass

  • All Implemented Interfaces:
    Cloneable, Node

    public final class ModuleMainClass
    extends Attribute
    This class is derived from Attribute and indicates the main class of a module. There may be at most one ModuleMainClass attribute in a ClassFile structure.
    See Also:
    Attribute
    • Constructor Detail

      • ModuleMainClass

        public ModuleMainClass​(ModuleMainClass c)
        Initialize from another object. Note that both objects use the same references (shallow copy). Use copy() for a physical copy.
      • ModuleMainClass

        public ModuleMainClass​(int name_index,
                               int length,
                               int mainClassIndex,
                               ConstantPool constantPool)
        Parameters:
        name_index - Index in constant pool
        length - Content length in bytes
        mainClassIndex - Host class index
        constantPool - Array of constants
    • Method Detail

      • accept

        public void accept​(Visitor v)
        Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
        Specified by:
        accept in interface Node
        Specified by:
        accept in class Attribute
        Parameters:
        v - Visitor object
      • dump

        public void dump​(DataOutputStream file)
                  throws IOException
        Dump ModuleMainClass attribute to file stream in binary format.
        Overrides:
        dump in class Attribute
        Parameters:
        file - Output file stream
        Throws:
        IOException - if an I/O error occurs.
      • getHostClassIndex

        public int getHostClassIndex()
        Returns:
        index into constant pool of host class name.
      • setHostClassIndex

        public void setHostClassIndex​(int mainClassIndex)
        Parameters:
        mainClassIndex - the host class index