Пример #1
0
 internal void AddEntry(DebugDirectoryEntryType type, uint version, uint stamp, int dataSize)
 {
     _entries.Add(new Entry()
     {
         Stamp    = stamp,
         Version  = version,
         Type     = type,
         DataSize = dataSize,
     });
 }
Пример #2
0
 internal void AddEntry(DebugDirectoryEntryType type, uint version, uint stamp, int dataSize = 0)
 {
     _entries.Add(new Entry()
     {
         Stamp = stamp,
         Version = version,
         Type = type,
         DataSize = dataSize,
     });
 }
Пример #3
0
        /// <summary>
        /// Adds an entry.
        /// </summary>
        /// <typeparam name="TData">Type of data passed to <paramref name="dataSerializer"/>.</typeparam>
        /// <param name="type">Entry type.</param>
        /// <param name="version">Entry version.</param>
        /// <param name="stamp">Entry stamp.</param>
        /// <param name="data">Data passed to <paramref name="dataSerializer"/>.</param>
        /// <param name="dataSerializer">Serializes data to a <see cref="BlobBuilder"/>.</param>
        public void AddEntry <TData>(DebugDirectoryEntryType type, uint version, uint stamp, TData data, Action <BlobBuilder, TData> dataSerializer)
        {
            if (dataSerializer == null)
            {
                Throw.ArgumentNull(nameof(dataSerializer));
            }

            int start = _dataBuilder.Count;

            dataSerializer(_dataBuilder, data);
            int dataSize = _dataBuilder.Count - start;

            AddEntry(type, version, stamp, dataSize);
        }
Пример #4
0
 public DebugDirectoryEntry(
     uint stamp,
     ushort majorVersion,
     ushort minorVersion,
     DebugDirectoryEntryType type,
     int dataSize,
     int dataRelativeVirtualAddress,
     int dataPointer)
 {
     Stamp        = stamp;
     MajorVersion = majorVersion;
     MinorVersion = minorVersion;
     Type         = type;
     DataSize     = dataSize;
     DataRelativeVirtualAddress = dataRelativeVirtualAddress;
     DataPointer = dataPointer;
 }
Пример #5
0
 public DebugDirectoryEntry(
     uint stamp,
     ushort majorVersion,
     ushort minorVersion,
     DebugDirectoryEntryType type,
     int dataSize,
     int dataRelativeVirtualAddress,
     int dataPointer)
 {
     Stamp = stamp;
     MajorVersion = majorVersion;
     MinorVersion = minorVersion;
     Type = type;
     DataSize = dataSize;
     DataRelativeVirtualAddress = dataRelativeVirtualAddress;
     DataPointer = dataPointer;
 }
Пример #6
0
 /// <summary>
 /// Adds an entry.
 /// </summary>
 /// <param name="type">Entry type.</param>
 /// <param name="version">Entry version.</param>
 /// <param name="stamp">Entry stamp.</param>
 public void AddEntry(DebugDirectoryEntryType type, uint version, uint stamp)
 => AddEntry(type, version, stamp, dataSize: 0);
Пример #7
0
 /// <summary>
 /// Adds an entry.
 /// </summary>
 /// <typeparam name="TData">Type of data passed to <paramref name="dataSerializer"/>.</typeparam>
 /// <param name="type">Entry type.</param>
 /// <param name="version">Entry version.</param>
 /// <param name="stamp">Entry stamp.</param>
 /// <param name="data">Data passed to <paramref name="dataSerializer"/>.</param>
 /// <param name="dataSerializer">Serializes data to a <see cref="BlobBuilder"/>.</param>
 public void AddEntry <TData>(DebugDirectoryEntryType type, uint version, uint stamp, TData data, Action <BlobBuilder, TData> dataSerializer !!)
 {