Package org.apache.bcel.classfile
Class SourceFile
- java.lang.Object
-
- org.apache.bcel.classfile.Attribute
-
- org.apache.bcel.classfile.SourceFile
-
- All Implemented Interfaces:
java.lang.Cloneable
,Node
public final class SourceFile extends Attribute
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:
Attribute
-
-
Field Summary
Fields Modifier and Type Field Description private int
sourceFileIndex
-
Fields inherited from class org.apache.bcel.classfile.Attribute
constant_pool, EMPTY_ARRAY, length, name_index, tag
-
-
Constructor Summary
Constructors Constructor Description SourceFile(int nameIndex, int length, int sourceFileIndex, ConstantPool constantPool)
SourceFile(int nameIndex, int length, java.io.DataInput input, ConstantPool constantPool)
Constructs object from input stream.SourceFile(SourceFile 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 implicitly defined by the contents of a Java class.Attribute
copy(ConstantPool constantPool)
void
dump(java.io.DataOutputStream file)
Dump source file attribute to file stream in binary format.int
getSourceFileIndex()
java.lang.String
getSourceFileName()
void
setSourceFileIndex(int sourceFileIndex)
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
-
SourceFile
SourceFile(int nameIndex, int length, java.io.DataInput input, ConstantPool constantPool) throws java.io.IOException
Constructs object from input stream.- Parameters:
nameIndex
- Index in constant pool to CONSTANT_Utf8length
- Content length in bytesinput
- Input streamconstantPool
- Array of constants- Throws:
java.io.IOException
- if an I/O error occurs.
-
SourceFile
public SourceFile(int nameIndex, int length, int sourceFileIndex, ConstantPool constantPool)
- 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.constantPool
- The constant pool that this attribute is associated with.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.
-
SourceFile
public SourceFile(SourceFile c)
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 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.
-
copy
public Attribute copy(ConstantPool constantPool)
-
dump
public void dump(java.io.DataOutputStream file) throws java.io.IOException
Dump source file attribute to file stream in binary format.
-
getSourceFileIndex
public int getSourceFileIndex()
- Returns:
- Index in constant pool of source file name.
-
getSourceFileName
public java.lang.String getSourceFileName()
- Returns:
- Source file name.
-
setSourceFileIndex
public void setSourceFileIndex(int sourceFileIndex)
- Parameters:
sourceFileIndex
-
-
-