public static int Write(StringIO /*!*/ self, [NotNull] MutableString /*!*/ value) { var content = self.GetWritableContent(); int length = content.GetByteCount(); var bytesWritten = value.GetByteCount(); int pos; if ((self._mode & IOMode.WriteAppends) != 0) { pos = length; } else { pos = self._position; } try { content.WriteBytes(pos, value, 0, bytesWritten); } catch (InvalidOperationException) { throw RubyExceptions.CreateIOError("not modifiable string"); } content.TaintBy(value); self._position = pos + bytesWritten; return(bytesWritten); }
public static object SetLength(ConversionStorage <int> /*!*/ fixnumCast, StringIO /*!*/ self, object lengthObj) { int length = Protocols.CastToFixnum(fixnumCast, lengthObj); if (length < 0) { throw RubyExceptions.CreateEINVAL("negative length"); } self.GetWritableContent().SetByteCount(length); return(lengthObj); }
public static void CloseWrite(StringIO /*!*/ self) { self.GetWritableContent(); self._mode = self._mode.CloseWrite(); }
public static int Write(StringIO/*!*/ self, [NotNull]MutableString/*!*/ value) { var content = self.GetWritableContent(); int length = content.GetByteCount(); var bytesWritten = value.GetByteCount(); int pos; if ((self._mode & IOMode.WriteAppends) != 0) { pos = length; } else { pos = self._position; } try { content.WriteBytes(pos, value, 0, bytesWritten); } catch (InvalidOperationException) { throw RubyExceptions.CreateIOError("not modifiable string"); } content.TaintBy(value); self._position = pos + bytesWritten; return bytesWritten; }
public static object SetLength(ConversionStorage<int>/*!*/ fixnumCast, StringIO/*!*/ self, object lengthObj) { int length = Protocols.CastToFixnum(fixnumCast, lengthObj); if (length < 0) { throw RubyExceptions.CreateEINVAL("negative length"); } self.GetWritableContent().SetByteCount(length); return lengthObj; }
public static void CloseWrite(StringIO/*!*/ self) { self.GetWritableContent(); self._mode = self._mode.CloseWrite(); }