Class SourceLocation

java.lang.Object
org.aspectj.bridge.SourceLocation
All Implemented Interfaces:
Serializable, ISourceLocation

public class SourceLocation extends Object implements ISourceLocation
Immutable source location. This guarantees that the source file is not null and that the numeric values are positive and line ≤ endLine.
See Also:
SourceLocation, Serialized Form
  • Field Details

    • UNKNOWN

      public static final ISourceLocation UNKNOWN
      used when SourceLocation is not available
  • Constructor Details

    • SourceLocation

      public SourceLocation(File file, int line)
      Same as SourceLocation(file, line, line, 0), except that column is not rendered during toString()
    • SourceLocation

      public SourceLocation(File file, int line, int endLine)
      same as SourceLocation(file, line, endLine, ISourceLocation.NO_COLUMN)
    • SourceLocation

      public SourceLocation(File file, int line, int endLine, int column)
      Parameters:
      file - File of the source; if null, use ISourceLocation.NO_FILE, not null
      line - int starting line of the location - positive number
      endLine - int ending line of the location - ≤ starting line
      column - int character position of starting location - positive number
    • SourceLocation

      public SourceLocation(File file, int line, int endLine, int column, String context)
    • SourceLocation

      public SourceLocation(File file, int line, int endLine, int column, String context, String sourceFileName)
  • Method Details

    • validLine

      public static final void validLine(int line)
      Throws:
      IllegalArgumentException - if the input would not be a valid line
    • validColumn

      public static final void validColumn(int column)
      Throws:
      IllegalArgumentException - if the input would not be a valid column
    • getSourceFile

      public File getSourceFile()
      Specified by:
      getSourceFile in interface ISourceLocation
      Returns:
      File source or NO_FILE if the implementation requires a non-null result or null otherwise
    • getLine

      public int getLine()
      Specified by:
      getLine in interface ISourceLocation
      Returns:
      0..MAX_LINE
    • getColumn

      public int getColumn()
      Specified by:
      getColumn in interface ISourceLocation
      Returns:
      int actual column or 0 if not available per constructor treatment of ISourceLocation.NO_COLUMN
    • getEndLine

      public int getEndLine()
      Specified by:
      getEndLine in interface ISourceLocation
      Returns:
      getLine()..MAX_LINE
    • getContext

      public String getContext()
      Specified by:
      getContext in interface ISourceLocation
      Returns:
      null String or application-specific context
    • toString

      public String toString()
      Overrides:
      toString in class Object
      Returns:
      String {context\n}{file:}line{:column}
    • getOffset

      public int getOffset()
      Specified by:
      getOffset in interface ISourceLocation
      Returns:
      offset into file
    • setOffset

      public void setOffset(int i)
    • getSourceFileName

      public String getSourceFileName()
      Description copied from interface: ISourceLocation
      In the cases where getSourceFile().getName() returns a class file (for example when we have a binary aspect) this should return the name of the source file (for example BinaryAspect.aj)
      Specified by:
      getSourceFileName in interface ISourceLocation
      Returns:
      the name of the source file
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object