public void Use(int numChars)
 {
     if (_pos + numChars > _len)
     {
         numChars = _len - _pos;
     }
     if (!_suppress)
     {
         _writer.Append(_str.Substring(_pos, numChars), CodeAttributes.Empty);
     }
     _pos += numChars;
 }
Exemple #2
0
 public void Use(int numChars)
 {
     while (numChars > 0 && _seg != null)
     {
         if (_segOffset + numChars >= _segLength)
         {
             var length = _segLength - _segOffset;
             _writer.Append(_seg.text.Substring(_segOffset, length), new CodeAttributes(_seg.fileName, _pos, _seg.endPos, _seg.actualContent, _seg.primaryFile, _suppress));
             MoveNextSegment();
             numChars -= length;
         }
         else
         {
             var text   = _seg.text.Substring(_segOffset, numChars);
             var newPos = _pos + text.Length;
             _writer.Append(text, new CodeAttributes(_seg.fileName, _pos, _seg.actualContent ? newPos : _pos, _seg.actualContent, _seg.primaryFile, _suppress));
             _segOffset += numChars;
             _pos        = newPos;
             numChars    = 0;
         }
     }
 }