1 package de.lathanda.eos.vm;
12 private int beginLine = Integer.MAX_VALUE;
13 private int endLine = Integer.MIN_VALUE;
14 private int beginPosition = Integer.MAX_VALUE;
15 private int endPosition = Integer.MIN_VALUE;
23 Marker marker = source.getMarker();
24 this.beginLine = marker.beginLine;
25 this.endLine = marker.endLine;
26 this.beginPosition = marker.beginPosition;
27 this.endPosition = marker.endPosition;
31 public Marker(
int beginColumn,
int beginLine,
int endColumn,
int endLine) {
32 this.beginPosition = beginColumn;
33 this.beginLine = beginLine;
34 this.endPosition = endColumn;
35 this.endLine = endLine;
38 public final void begin(
int beginColumn,
int beginLine) {
39 this.beginPosition = beginColumn;
40 this.beginLine = beginLine;
43 public final void end(
int endColumn,
int endLine) {
44 this.endPosition = endColumn;
45 this.endLine = endLine;
65 return endPosition - beginPosition + 1;
69 return beginPosition < pos && endPosition > pos;
82 return "Marker{line = " + beginLine +
" - " + endLine +
" position = " + beginPosition +
" - " + endPosition
87 beginPosition = Math.min(marker.beginPosition, beginPosition);
88 beginLine = Math.min(marker.beginLine, beginLine);
89 endPosition = Math.max(marker.endPosition, endPosition);
90 endLine = Math.max(marker.endLine, endLine);
boolean contains(int pos)
void extend(Marker marker)
Marker(int beginColumn, int beginLine, int endColumn, int endLine)
Marker(ProgramNode source, ProgramNode target)
final void begin(int beginColumn, int beginLine)
final void end(int endColumn, int endLine)
void setNode(ProgramNode node)