protected void ExpandBuff()

in src/main/csharp/Selector/SimpleCharStream.cs [28:69]


  protected void ExpandBuff(bool wrapAround)
  {
     char[] newbuffer = new char[bufsize + 2048];
     int[] newbufline = new int[bufsize + 2048];
     int[] newbufcolumn = new int[bufsize + 2048];

     try {
        if (wrapAround) {
           System.Array.Copy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
           System.Array.Copy(buffer, 0, newbuffer, bufsize - tokenBegin, bufpos);
           buffer = newbuffer;

           System.Array.Copy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
           System.Array.Copy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos);
           bufline = newbufline;

           System.Array.Copy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
           System.Array.Copy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos);
           bufcolumn = newbufcolumn;

           maxNextCharInd = (bufpos += (bufsize - tokenBegin));
        } else {
           System.Array.Copy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
           buffer = newbuffer;

           System.Array.Copy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
           bufline = newbufline;

           System.Array.Copy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
           bufcolumn = newbufcolumn;

           maxNextCharInd = (bufpos -= tokenBegin);
        }
     } catch (System.Exception e) {
        throw new System.SystemException(e.Message);
     }


     bufsize += 2048;
     available = bufsize;
     tokenBegin = 0;
  }