Lucene.Net.Demo.Html.SimpleCharStream.AdjustBeginLineColumn C# (CSharp) Method

AdjustBeginLineColumn() public method

Method to adjust line and column numbers for the start of a token.
public AdjustBeginLineColumn ( int newLine, int newCol ) : void
newLine int
newCol int
return void
        public virtual void  AdjustBeginLineColumn(int newLine, int newCol)
        {
            int start = tokenBegin;
            int len;
			
            if (bufpos >= tokenBegin)
            {
                len = bufpos - tokenBegin + inBuf + 1;
            }
            else
            {
                len = bufsize - tokenBegin + bufpos + 1 + inBuf;
            }
			
            int i = 0, j = 0, k = 0;
            int nextColDiff = 0, columnDiff = 0;
			
            while (i < len && bufline[j = start % bufsize] == bufline[k = ++start % bufsize])
            {
                bufline[j] = newLine;
                nextColDiff = columnDiff + bufcolumn[k] - bufcolumn[j];
                bufcolumn[j] = newCol + columnDiff;
                columnDiff = nextColDiff;
                i++;
            }
			
            if (i < len)
            {
                bufline[j] = newLine++;
                bufcolumn[j] = newCol + columnDiff;
				
                while (i++ < len)
                {
                    if (bufline[j = start % bufsize] != bufline[++start % bufsize])
                        bufline[j] = newLine++;
                    else
                        bufline[j] = newLine;
                }
            }
			
            line = bufline[j];
            column = bufcolumn[j];
        }
    }