polyglot.util
Class Position

java.lang.Object
  extended by polyglot.util.Position
All Implemented Interfaces:
java.io.Serializable

public class Position
extends java.lang.Object
implements java.io.Serializable

This class represents a position within a source file. It is used to record where each AST node is located in a source file; this is used, for example, for generating error messages.

See Also:
Serialized Form

Field Summary
static int CALLER
           
static Position COMPILER_GENERATED
           
static int END_UNUSED
           
static int THIS_METHOD
           
static int UNKNOWN
           
 
Constructor Summary
protected Position()
          For deserialization.
  Position(Position start, Position end)
           
  Position(java.lang.String path, java.lang.String file)
           
  Position(java.lang.String path, java.lang.String file, int line)
           
  Position(java.lang.String path, java.lang.String file, int line, int column)
           
  Position(java.lang.String path, java.lang.String file, int line, int column, int endLine, int endColumn)
           
  Position(java.lang.String path, java.lang.String file, int line, int column, int endLine, int endColumn, int offset, int endOffset)
           
 
Method Summary
 int column()
           
static Position compilerGenerated()
          Get a compiler generated position.
static Position compilerGenerated(int depth)
          Get a compiler generated position using the caller at the given stack depth.
 int endColumn()
           
 int endLine()
           
 Position endOf()
           
 int endOffset()
           
 java.lang.String file()
           
 int line()
           
 java.lang.String nameAndLineString()
           
 int offset()
           
 java.lang.String path()
           
 Position startOf()
           
 java.lang.String toString()
           
 Position truncateEnd(int len)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

UNKNOWN

public static final int UNKNOWN
See Also:
Constant Field Values

END_UNUSED

public static final int END_UNUSED
See Also:
Constant Field Values

COMPILER_GENERATED

public static final Position COMPILER_GENERATED

THIS_METHOD

public static final int THIS_METHOD
See Also:
Constant Field Values

CALLER

public static final int CALLER
See Also:
Constant Field Values
Constructor Detail

Position

protected Position()
For deserialization.


Position

public Position(java.lang.String path,
                java.lang.String file)

Position

public Position(java.lang.String path,
                java.lang.String file,
                int line)

Position

public Position(java.lang.String path,
                java.lang.String file,
                int line,
                int column)

Position

public Position(java.lang.String path,
                java.lang.String file,
                int line,
                int column,
                int endLine,
                int endColumn)

Position

public Position(java.lang.String path,
                java.lang.String file,
                int line,
                int column,
                int endLine,
                int endColumn,
                int offset,
                int endOffset)

Position

public Position(Position start,
                Position end)
Method Detail

compilerGenerated

public static Position compilerGenerated(int depth)
Get a compiler generated position using the caller at the given stack depth. Depth 1 is the caller. Depth 2 is the caller's caller, etc.


compilerGenerated

public static Position compilerGenerated()
Get a compiler generated position.


truncateEnd

public Position truncateEnd(int len)

startOf

public Position startOf()

endOf

public Position endOf()

line

public int line()

column

public int column()

endLine

public int endLine()

endColumn

public int endColumn()

offset

public int offset()

endOffset

public int endOffset()

file

public java.lang.String file()

path

public java.lang.String path()

nameAndLineString

public java.lang.String nameAndLineString()

toString

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