in src/main/csharp/Selector/SimpleCharStream.cs [120:151]
protected void UpdateLineColumn(char c) {
charColumn++;
if (prevCharIsLF) {
prevCharIsLF = false;
charLine += (charColumn = 1);
} else if (prevCharIsCR) {
prevCharIsCR = false;
if (c == '\n') {
prevCharIsLF = true;
} else
charLine += (charColumn = 1);
}
switch (c) {
case '\r' :
prevCharIsCR = true;
break;
case '\n' :
prevCharIsLF = true;
break;
case '\t' :
charColumn--;
charColumn += (8 - (charColumn & 07));
break;
default :
break;
}
bufline[bufpos] = charLine;
bufcolumn[bufpos] = charColumn;
}