/// <summary> /// Adds PDB checksum entry. /// </summary> /// <param name="algorithmName">Hash algorithm name (e.g. "SHA256").</param> /// <param name="checksum">Checksum.</param> /// <exception cref="ArgumentNullException"><paramref name="algorithmName"/> or <paramref name="checksum"/> is null.</exception> /// <exception cref="ArgumentException"><paramref name="algorithmName"/> or <paramref name="checksum"/> is empty.</exception> public void AddPdbChecksumEntry(string algorithmName, ImmutableArray <byte> checksum) { if (algorithmName == null) { Throw.ArgumentNull(nameof(algorithmName)); } if (algorithmName.Length == 0) { Throw.ArgumentEmptyString(nameof(algorithmName)); } if (checksum.IsDefault) { Throw.ArgumentNull(nameof(checksum)); } if (checksum.Length == 0) { Throw.ArgumentEmptyArray(nameof(checksum)); } int dataSize = WritePdbChecksumData(_dataBuilder, algorithmName, checksum); AddEntry( type: DebugDirectoryEntryType.PdbChecksum, version: 0x00000001, stamp: 0x00000000, dataSize); }
/// <summary> /// Encodes literal of type <see cref="Type"/> (possibly null). /// </summary> /// <param name="serializedTypeName">The name of the type, or null.</param> /// <exception cref="ArgumentException"><paramref name="serializedTypeName"/> is empty.</exception> public void SystemType(string?serializedTypeName) { if (serializedTypeName != null && serializedTypeName.Length == 0) { Throw.ArgumentEmptyString(nameof(serializedTypeName)); } String(serializedTypeName); }
public void Name(string name) { if (name == null) { Throw.ArgumentNull(nameof(name)); } if (name.Length == 0) { Throw.ArgumentEmptyString(nameof(name)); } Builder.WriteSerializedString(name); }
public void Enum(string enumTypeName) { if (enumTypeName == null) { Throw.ArgumentNull(nameof(enumTypeName)); } if (enumTypeName.Length == 0) { Throw.ArgumentEmptyString(nameof(enumTypeName)); } WriteTypeCode(SerializationTypeCode.Enum); Builder.WriteSerializedString(enumTypeName); }