]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/parsing/utils/LineLocator.java
SCL compiler generates line numbers to bytecode
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / internal / parsing / utils / LineLocator.java
1 package org.simantics.scl.compiler.internal.parsing.utils;
2
3 public abstract class LineLocator {
4     final protected int[] rowStarts;
5     
6     public LineLocator(int[] rowStarts) {
7         this.rowStarts = rowStarts;
8     }
9     
10     public abstract int lineNumberFromPosition(int position);
11     
12     public int columnNumber(int line, int position) {
13         return position - rowStarts[line];
14     }
15 }