fix: Build documentation at compilation

Some documentation was broken. I refactored it to be declarative now the
project build correctly and produce XML documentation.
This commit is contained in:
kbe
2026-07-22 19:58:53 +02:00
parent e8c84f0ba1
commit 040a51bf03
5 changed files with 11 additions and 6 deletions
+3
View File
@@ -30,8 +30,10 @@ public sealed class StubAssembler : IAssembler
// ── Emit primitives ──────────────────────────────────────────────────── // ── Emit primitives ────────────────────────────────────────────────────
/// <summary>Emits a single byte into the buffer.</summary>
public void EmitU8(List<byte> buffer, byte value) => buffer.Add(value); public void EmitU8(List<byte> buffer, byte value) => buffer.Add(value);
/// <summary>Emits a 32-bit little-endian integer into the buffer.</summary>
public void EmitU32(List<byte> buffer, uint value) public void EmitU32(List<byte> buffer, uint value)
{ {
buffer.Add((byte)value); buffer.Add((byte)value);
@@ -40,6 +42,7 @@ public sealed class StubAssembler : IAssembler
buffer.Add((byte)(value >> 24)); buffer.Add((byte)(value >> 24));
} }
/// <summary>Emits a 64-bit little-endian integer into the buffer.</summary>
public void EmitU64(List<byte> buffer, ulong value) public void EmitU64(List<byte> buffer, ulong value)
{ {
EmitU32(buffer, (uint)value); EmitU32(buffer, (uint)value);
+5 -5
View File
@@ -6,8 +6,8 @@ namespace WhiteMagic;
/// <summary> /// <summary>
/// Caches the widths marshalling decisions for type <typeparamref name="T"/> /// Caches the widths marshalling decisions for type <typeparamref name="T"/>
/// once, at static-constructor time. <see cref="MemoryBase.Read{T}"/> and /// once, at static-constructor time. <see cref="MemoryBase.Read{T}(nint, bool)"/> and
/// <see cref="MemoryBase.Write{T}"/> branch on <see cref="TypeRequiresMarshal"/> /// <see cref="MemoryBase.Write{T}(nint, T, bool)"/> branch on <see cref="TypeRequiresMarshal"/>
/// and pick the appropriate width from this cache. /// and pick the appropriate width from this cache.
/// </summary> /// </summary>
/// <typeparam name="T">The type to cache metadata for.</typeparam> /// <typeparam name="T">The type to cache metadata for.</typeparam>
@@ -24,8 +24,8 @@ public static class MarshalCache<T>
public static readonly int Size; public static readonly int Size;
/// <summary> /// <summary>
/// The unmanaged (interop) width via <see cref="Marshal.SizeOf"/>. The marshal /// The unmanaged (interop) width via <see cref="Marshal.SizeOf(System.Type)"/>. The marshal
/// path (<see cref="Marshal.PtrToStructure"/>/<see cref="Marshal.StructureToPtr"/>) /// path (<see cref="Marshal.PtrToStructure(nint, System.Type)"/>/<see cref="Marshal.StructureToPtr"/>)
/// reads/writes this many bytes. Exceeds <see cref="Size"/> whenever a struct /// reads/writes this many bytes. Exceeds <see cref="Size"/> whenever a struct
/// carries inline unmanaged data that the marshaler expands — inline /// carries inline unmanaged data that the marshaler expands — inline
/// <c>ByValTStr</c>/<c>ByValArray</c> buffers, <c>bool</c> fields (4 bytes per /// <c>ByValTStr</c>/<c>ByValArray</c> buffers, <c>bool</c> fields (4 bytes per
@@ -46,7 +46,7 @@ public static class MarshalCache<T>
/// <summary> /// <summary>
/// <see langword="true"/> when <typeparamref name="T"/> cannot be copied through /// <see langword="true"/> when <typeparamref name="T"/> cannot be copied through
/// the blittable <see cref="System.Runtime.InteropServices.MemoryMarshal"/> path /// the blittable <see cref="System.Runtime.InteropServices.MemoryMarshal"/> path
/// and must fall back to <see cref="Marshal.PtrToStructure"/> / /// and must fall back to <see cref="Marshal.PtrToStructure(nint, System.Type)"/> /
/// <see cref="Marshal.StructureToPtr"/>. This is the case when a top-level field /// <see cref="Marshal.StructureToPtr"/>. This is the case when a top-level field
/// carries <see cref="MarshalAsAttribute"/>, or when <typeparamref name="T"/> /// carries <see cref="MarshalAsAttribute"/>, or when <typeparamref name="T"/>
/// contains a managed reference /// contains a managed reference
+1 -1
View File
@@ -7,7 +7,7 @@ namespace WhiteMagic;
/// <summary> /// <summary>
/// Abstract base for all memory-access readers and writers. Provides typed /// Abstract base for all memory-access readers and writers. Provides typed
/// <see cref="Read{T}"/>/<see cref="Write{T}"/>, array IO, string IO, and /// <see cref="Read{T}(nint, bool)"/>/<see cref="Write{T}(nint, T, bool)"/>, array IO, string IO, and
/// relative/absolute addressing. Subclasses implement the concrete /// relative/absolute addressing. Subclasses implement the concrete
/// <see cref="ReadBytes"/> and <see cref="WriteBytes"/> methods. /// <see cref="ReadBytes"/> and <see cref="WriteBytes"/> methods.
/// </summary> /// </summary>
+1
View File
@@ -7,6 +7,7 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Platforms>x86;x64;AnyCPU</Platforms> <Platforms>x86;x64;AnyCPU</Platforms>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors> <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
+1
View File
@@ -113,6 +113,7 @@ public sealed class RemoteWindow
return NativeMethods.FlashWindowEx(ref info); return NativeMethods.FlashWindowEx(ref info);
} }
/// <summary>Returns a string representation of this window, including its handle, class name, and title.</summary>
public override string ToString() public override string ToString()
{ {
var sb = new StringBuilder(); var sb = new StringBuilder();