aboutsummaryrefslogtreecommitdiff
path: root/interfaces/src/dotty/tools/dotc/interfaces/SourcePosition.java
diff options
context:
space:
mode:
authorGuillaume Martres <smarter@ubuntu.com>2016-11-20 00:02:50 +0100
committerGuillaume Martres <smarter@ubuntu.com>2016-11-22 01:35:08 +0100
commitc3eb841ce8ae349d9820dbf6c18884955e74254e (patch)
tree5e82e22a6f0e8245c11a6db81cb9647106a14bde /interfaces/src/dotty/tools/dotc/interfaces/SourcePosition.java
parentda1bfe392c638fc03181e0d6b51eb41dbdcce548 (diff)
downloaddotty-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.java45
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();
+}