Class Synthetic

  • All Implemented Interfaces:
    java.lang.Cloneable, Node

    public final class Synthetic
    extends Attribute
    This class is derived from Attribute and declares this class as `synthetic', i.e., it needs special handling. The JVM specification states "A class member that does not appear in the source code must be marked using a Synthetic attribute." It may appear in the ClassFile attribute table, a field_info table or a method_info table. This class is intended to be instantiated from the Attribute.readAttribute() method.
    See Also:
    Attribute
    • Constructor Detail

      • Synthetic

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

        public Synthetic​(int name_index,
                         int length,
                         byte[] bytes,
                         ConstantPool constant_pool)
        Parameters:
        name_index - Index in constant pool to CONSTANT_Utf8, which should represent the string "Synthetic".
        length - Content length in bytes - should be zero.
        bytes - Attribute contents
        constant_pool - The constant pool this attribute is associated with.
    • Method Detail

      • accept

        public void accept​(Visitor v)
        Called by objects that are traversing the nodes of the tree implicitely 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​(java.io.DataOutputStream file)
                  throws java.io.IOException
        Dump source file attribute to file stream in binary format.
        Overrides:
        dump in class Attribute
        Parameters:
        file - Output file stream
        Throws:
        java.io.IOException
      • getBytes

        public byte[] getBytes()
        Returns:
        data bytes.
      • setBytes

        public void setBytes​(byte[] bytes)
        Parameters:
        bytes -
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class Attribute
        Returns:
        String representation.