Class SourceFile
java.lang.Object
org.apache.bcel.classfile.Attribute
org.apache.bcel.classfile.SourceFile
This class is derived from Attribute and represents a reference to the source file of this class. At most
one SourceFile attribute should appear per classfile. The intention of this class is that it is instantiated from the
Attribute.readAttribute() method.
- See Also:
-
Field Summary
Fields inherited from class Attribute
constant_pool, EMPTY_ARRAY, length, name_index, tagModifier and TypeFieldDescriptionprotected ConstantPoolDeprecated.(since 6.0) will be made private; do not access directly, use getter/setter.static final Attribute[]Empty array.protected intDeprecated.(since 6.0) (since 6.0) will be made private; do not access directly, use getter/setter.protected intDeprecated.(since 6.0) will be made private; do not access directly, use getter/setter.protected byteDeprecated.(since 6.0) will be made private; do not access directly, use getter/setter. -
Constructor Summary
ConstructorsConstructorDescriptionSourceFile(int nameIndex, int length, int sourceFileIndex, ConstantPool constantPool) Constructs a SourceFile.Initialize from another object. -
Method Summary
Modifier and TypeMethodDescriptionvoidCalled by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.copy(ConstantPool constantPool) Creates a deep copy of this attribute.voiddump(DataOutputStream file) Dumps source file attribute to file stream in binary format.intGets the source file index.Gets the source file name.voidsetSourceFileIndex(int sourceFileIndex) Sets the source file index.toString()Methods inherited from class Attribute
addAttributeReader, addAttributeReader, clone, getConstantPool, getLength, getName, getNameIndex, getTag, println, readAttribute, readAttribute, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndexModifier and TypeMethodDescriptionstatic voidaddAttributeReader(String name, AttributeReader attributeReader) Deprecated.(6.0) UseAttribute.addAttributeReader(String, UnknownAttributeReader)instead.static voidaddAttributeReader(String name, UnknownAttributeReader unknownAttributeReader) Add an Attribute reader capable of parsing (user-defined) attributes named "name".clone()Use copy() if you want to have a deep copy(), that is, with all references copied correctly.final ConstantPoolGets the constant pool used by this object.final intGets the length of attribute field in bytes.getName()Gets the name of the attribute.final intGets the name index in constant pool of attribute name.final bytegetTag()Gets the tag of attribute, that is, its type.protected static voidPrints a message to stderr if debug mode is enabled.static AttributereadAttribute(DataInput dataInput, ConstantPool constantPool) Reads one attribute using standard eight-byte Code headers.static AttributereadAttribute(DataInput dataInput, ConstantPool constantPool, boolean compactCodeHeader) Reads one attribute using the selected Code header layout.static AttributereadAttribute(DataInputStream dataInputStream, ConstantPool constantPool) Reads one attribute using standard eight-byte Code headers.static voidremoveAttributeReader(String name) Remove attribute readerfinal voidsetConstantPool(ConstantPool constantPool) Sets the constant pool to be used for this object.final voidsetLength(int length) Sets the length in bytes.final voidsetNameIndex(int nameIndex) Sets the name index of attribute.
-
Constructor Details
-
SourceFile
Constructs a SourceFile.- Parameters:
nameIndex- Index in constant pool to CONSTANT_Utf8, which should represent the string "SourceFile".length- Content length in bytes, the value should be 2.sourceFileIndex- Index in constant pool to CONSTANT_Utf8. This string will be interpreted as the name of the file from which this class was compiled. It will not be interpreted as indicating the name of the directory contqining the file or an absolute path; this information has to be supplied the consumer of this attribute - in many cases, the JVM.constantPool- The constant pool that this attribute is associated with.
-
SourceFile
Initialize from another object. Note that both objects use the same references (shallow copy). Use clone() for a physical copy.- Parameters:
c- Source to copy.
-
-
Method Details
-
accept
Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. That is, the hierarchy of methods, fields, attributes, and other elements forms a tree of objects. -
copy
-
dump
Dumps source file attribute to file stream in binary format.- Overrides:
dumpin classAttribute- Parameters:
file- Output file stream.- Throws:
IOException- Thrown if an I/O error occurs.
-
getSourceFileIndex
Gets the source file index.- Returns:
- Index in constant pool of source file name.
-
getSourceFileName
-
setSourceFileIndex
Sets the source file index.- Parameters:
sourceFileIndex- The source file index to set.
-
toString
-