Package serp.bytecode

# Class SourceFile

java.lang.Object
serp.bytecode.Attributes
serp.bytecode.Attribute
serp.bytecode.SourceFile

All Implemented Interfaces:
  `BCEntity`, `VisitAcceptor`

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

Author:
  Abe White

## Method Summary

Modifier and Type
Method
Description
`void`
`acceptVisit(BCVisitor visit)`
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.
`File`
`getFile(File dir)`
Return the file object for the source file, or null if not set.
`int`
`getFileIndex()`
Return the index into the class `ConstantPool` of the `UTF8Entry` naming the source file for this class, or 0 if not set.
`String`
`getFileName()`
Return the name of the source file, or null if not set.
`void`
`setFile(File file)`
Set the source file.
`void`
`setFile(String name)`
Set the name of the source file.
`void`
`setFileIndex(int sourceFileIndex)`
Set the index into the class `ConstantPool` of the `UTF8Entry` naming the source file for this class.
`void`
`setFromClassName()`
Set the file name from the current class name plus the .java extension.

### Methods inherited from class serp.bytecode.Attribute

`getClassLoader, getName, getNameIndex, getOwner, getPool, getProject, isValid`

### Methods inherited from class serp.bytecode.Attributes

`addAttribute, addAttribute, clearAttributes, getAttribute, getAttributes, getAttributes, removeAttribute, removeAttribute, setAttributes`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### 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.