Class SimpleSourceFile

  • All Implemented Interfaces:
    StaticSourceFile

    public final class SimpleSourceFile
    extends java.lang.Object
    implements StaticSourceFile
    A simple implementation of StaticSourceFile for testing.
    • Constructor Summary

      Constructors 
      Constructor Description
      SimpleSourceFile​(java.lang.String name, boolean extern)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int getColumnOfOffset​(int offset)
      Gets the 0-based column number of the given source offset.
      int getLineOffset​(int line)
      Returns the offset of the given line number relative to the file start.
      int getLineOfOffset​(int offset)
      Gets the 1-based line number of the given source offset.
      java.lang.String getName()
      The name of the file.
      boolean isExtern()
      Returns whether this is an externs file.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • SimpleSourceFile

        public SimpleSourceFile​(java.lang.String name,
                                boolean extern)
    • Method Detail

      • getName

        public java.lang.String getName()
        Description copied from interface: StaticSourceFile
        The name of the file. Must be unique across all files in the compilation.
        Specified by:
        getName in interface StaticSourceFile
      • getColumnOfOffset

        public int getColumnOfOffset​(int offset)
        Description copied from interface: StaticSourceFile
        Gets the 0-based column number of the given source offset.
        Specified by:
        getColumnOfOffset in interface StaticSourceFile
        Parameters:
        offset - An absolute file offset.
        Returns:
        The 0-based column number of that offset. The behavior is undefined if this offset does not exist in the source file.
      • getLineOfOffset

        public int getLineOfOffset​(int offset)
        Description copied from interface: StaticSourceFile
        Gets the 1-based line number of the given source offset.
        Specified by:
        getLineOfOffset in interface StaticSourceFile
        Parameters:
        offset - An absolute file offset.
        Returns:
        The 1-based line number of that offset. The behavior is undefined if this offset does not exist in the source file.
      • getLineOffset

        public int getLineOffset​(int line)
        Description copied from interface: StaticSourceFile
        Returns the offset of the given line number relative to the file start. Line number should be 1-based. If the source file doesn't have line information, it should return Integer.MIN_VALUE. The negative offsets will make it more obvious what happened.
        Specified by:
        getLineOffset in interface StaticSourceFile
        Parameters:
        line - the line of the input to get the absolute offset of.
        Returns:
        the absolute offset of the start of the provided line.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object