diff options
author | Guillaume Martres <smarter@ubuntu.com> | 2016-11-20 00:02:50 +0100 |
---|---|---|
committer | Guillaume Martres <smarter@ubuntu.com> | 2016-11-22 01:35:08 +0100 |
commit | c3eb841ce8ae349d9820dbf6c18884955e74254e (patch) | |
tree | 5e82e22a6f0e8245c11a6db81cb9647106a14bde /interfaces/src/dotty/tools/dotc/interfaces/SourcePosition.java | |
parent | da1bfe392c638fc03181e0d6b51eb41dbdcce548 (diff) | |
download | dotty-c3eb841ce8ae349d9820dbf6c18884955e74254e.tar.gz dotty-c3eb841ce8ae349d9820dbf6c18884955e74254e.tar.bz2 dotty-c3eb841ce8ae349d9820dbf6c18884955e74254e.zip |
Make every project use the new directory structure
Diffstat (limited to 'interfaces/src/dotty/tools/dotc/interfaces/SourcePosition.java')
-rw-r--r-- | interfaces/src/dotty/tools/dotc/interfaces/SourcePosition.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/interfaces/src/dotty/tools/dotc/interfaces/SourcePosition.java b/interfaces/src/dotty/tools/dotc/interfaces/SourcePosition.java new file mode 100644 index 000000000..d8afbf5f6 --- /dev/null +++ b/interfaces/src/dotty/tools/dotc/interfaces/SourcePosition.java @@ -0,0 +1,45 @@ +package dotty.tools.dotc.interfaces; + +/** A position in a source file. + * + * A position is a range between a start offset and an end offset, as well as a + * point inside this range. + * + * As a convenience, we also provide methods that return the line and the column + * corresponding to each offset. + * + * User code should not implement this interface, but it may have to + * manipulate objects of this type. + */ +public interface SourcePosition { + /** @return Content of the line which contains the point */ + String lineContent(); + + /** @return Offset to the point */ + int point(); + /** @return Line number of the point, starting at 0 */ + int line(); + /** @return Column number of the point, starting at 0 */ + int column(); + + /** @return Offset to the range start */ + int start(); + /** @return Line number of the range start, starting at 0 */ + int startLine(); + /** @return Column number of the range start, starting at 0 */ + int startColumn(); + + /** @return Offset to the range end */ + int end(); + /** @return Line number of the range end, starting at 0 */ + int endLine(); + /** @return Column number of the range end, starting at 0 */ + int endColumn(); + + /** The source file corresponding to this position. + * The values returned by `point()`, `start()` and `end()` + * are indices in the array returned by `source().content()`. + * @return source file for this position + */ + SourceFile source(); +} |