Package org.apache.bcel.classfile
Class Synthetic
- java.lang.Object
-
- org.apache.bcel.classfile.Attribute
-
- org.apache.bcel.classfile.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
-
-
Field Summary
Fields Modifier and Type Field Description private byte[]
bytes
-
Fields inherited from class org.apache.bcel.classfile.Attribute
constant_pool, length, name_index, tag
-
-
Constructor Summary
Constructors Constructor Description Synthetic(int name_index, int length, byte[] bytes, ConstantPool constant_pool)
Synthetic(int name_index, int length, java.io.DataInput input, ConstantPool constant_pool)
Construct object from input stream.Synthetic(Synthetic c)
Initialize from another object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.Attribute
copy(ConstantPool _constant_pool)
void
dump(java.io.DataOutputStream file)
Dump source file attribute to file stream in binary format.byte[]
getBytes()
void
setBytes(byte[] bytes)
java.lang.String
toString()
-
Methods inherited from class org.apache.bcel.classfile.Attribute
addAttributeReader, addAttributeReader, clone, getConstantPool, getLength, getName, getNameIndex, getTag, println, readAttribute, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex
-
-
-
-
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 contentsconstant_pool
- The constant pool this attribute is associated with.
-
Synthetic
Synthetic(int name_index, int length, java.io.DataInput input, ConstantPool constant_pool) throws java.io.IOException
Construct object from input stream.- Parameters:
name_index
- Index in constant pool to CONSTANT_Utf8length
- Content length in bytesinput
- Input streamconstant_pool
- Array of constants- Throws:
java.io.IOException
-
-
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.
-
dump
public void dump(java.io.DataOutputStream file) throws java.io.IOException
Dump source file attribute to file stream in binary format.
-
getBytes
public byte[] getBytes()
- Returns:
- data bytes.
-
setBytes
public void setBytes(byte[] bytes)
- Parameters:
bytes
-
-
toString
public java.lang.String toString()
-
copy
public Attribute copy(ConstantPool _constant_pool)
-
-