/// <summary> /// Writes a constant value (see ECMA-335 Partition II section 22.9) at the current position. /// </summary> /// <exception cref="ArgumentException"><paramref name="value"/> is not of a constant type.</exception> /// <exception cref="InvalidOperationException">Builder is not writable, it has been linked with another one.</exception> public void WriteConstant(object value) { BlobWriterImpl.WriteConstant(this, value); }
/// <summary> /// Implements compressed unsigned integer encoding as defined by ECMA-335-II chapter 23.2: Blobs and signatures. /// </summary> /// <remarks> /// If the value lies between 0 (0x00) and 127 (0x7F), inclusive, /// encode as a one-byte integer (bit 7 is clear, value held in bits 6 through 0). /// /// If the value lies between 28 (0x80) and 214 – 1 (0x3FFF), inclusive, /// encode as a 2-byte integer with bit 15 set, bit 14 clear(value held in bits 13 through 0). /// /// Otherwise, encode as a 4-byte integer, with bit 31 set, bit 30 set, bit 29 clear (value held in bits 28 through 0). /// </remarks> /// <exception cref="ArgumentOutOfRangeException"><paramref name="value"/> can't be represented as a compressed integer.</exception> /// <exception cref="InvalidOperationException">Builder is not writable, it has been linked with another one.</exception> internal void WriteCompressedInteger(uint value) { BlobWriterImpl.WriteCompressedInteger(this, value); }