Package serp.bytecode

Class SourceFile

All Implemented Interfaces:
BCEntity, VisitAcceptor

public class SourceFile extends Attribute
Attribute naming the source file for this class.
  • Field Details

    • _sourceFileIndex

      int _sourceFileIndex
  • Constructor Details

    • SourceFile

      SourceFile(int nameIndex, Attributes owner)
  • Method Details

    • getLength

      int getLength()
      Description copied from class: Attribute
      Return the length of the bytecode representation of this attribute in bytes, excluding the name index.
      Overrides:
      getLength in class Attribute
    • getFileIndex

      public int getFileIndex()
      Return the index into the class ConstantPool of the UTF8Entry naming the source file for this class, or 0 if not set.
    • setFileIndex

      public void setFileIndex(int sourceFileIndex)
      Set the index into the class ConstantPool of the UTF8Entry naming the source file for this class.
    • getFileName

      public String getFileName()
      Return the name of the source file, or null if not set.
    • getFile

      public File getFile(File dir)
      Return the file object for the source file, or null if not set.
      Parameters:
      dir - the directory of the file, or null
    • setFile

      public void setFile(String name)
      Set the name of the source file. The name should be the file name only; it should not include the path to the file.
    • setFile

      public void setFile(File file)
      Set the source file. Note that only the file name is recorded; the path to the file is discarded.
    • setFromClassName

      public void setFromClassName()
      Set the file name from the current class name plus the .java extension.
    • acceptVisit

      public void acceptVisit(BCVisitor visit)
      Description copied from interface: VisitAcceptor
      Accept a visit from a BCVisitor, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this one.
    • read

      void read(Attribute other)
      Description copied from class: Attribute
      Copy the information from the given attribute to this one. Does nothing by default.
      Overrides:
      read in class Attribute
    • read

      void read(DataInput in, int length) throws IOException
      Description copied from class: Attribute
      Read the attribute bytecode from the given stream, up to length bytes, excluding the name index. Does nothing by default.
      Overrides:
      read in class Attribute
      Throws:
      IOException
    • write

      void write(DataOutput out, int length) throws IOException
      Description copied from class: Attribute
      Write the attribute bytecode to the given stream, up to length bytes, excluding the name index. Does nothing by default.
      Overrides:
      write in class Attribute
      Throws:
      IOException