blob: d8afbf5f607ad725176d721b8639a27c9b0ce989 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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();
}
|