package org.simantics.scl.compiler.internal.parsing.utils; public abstract class LineLocator { final protected int[] rowStarts; public LineLocator(int[] rowStarts) { this.rowStarts = rowStarts; } public abstract int lineNumberFromPosition(int position); public int columnNumber(int line, int position) { return position - rowStarts[line]; } }