Class Synthetic

java.lang.Object
org.apache.bcel.classfile.Attribute
org.apache.bcel.classfile.Synthetic
All Implemented Interfaces:
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:
  • Constructor Details

    • 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 Details

    • 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(DataOutputStream file) throws IOException
      Dump source file attribute to file stream in binary format.
      Overrides:
      dump in class Attribute
      Parameters:
      file - Output file stream
      Throws:
      IOException
    • getBytes

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

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

      public String toString()
      Overrides:
      toString in class Attribute
      Returns:
      String representation.
    • copy

      public Attribute copy(ConstantPool _constant_pool)
      Specified by:
      copy in class Attribute
      Returns:
      deep copy of this attribute