File: _generated\66\Microsoft_Diagnostics_DataContractReader_Data.GCHeapSVR.g.cs
Web Access
Project: src\runtime\src\native\managed\cdac\Microsoft.Diagnostics.DataContractReader.Contracts\Microsoft.Diagnostics.DataContractReader.Contracts.csproj (Microsoft.Diagnostics.DataContractReader.Contracts)
// <auto-generated/>
#nullable enable

using Microsoft.Diagnostics.DataContractReader;
using Microsoft.Diagnostics.DataContractReader.Contracts;
using Microsoft.Diagnostics.DataContractReader.Generated;

namespace Microsoft.Diagnostics.DataContractReader.Data;

/// <summary>Wraps the <c>GCHeap</c> type.</summary>
partial class GCHeapSVR
{
    private static readonly string[] _typeNames = new[] { "GCHeap" };

    public TargetPointer Address { get; }

    partial void OnInit(Target target, TargetPointer address);

    public GCHeapSVR(Target target, TargetPointer address)
    {
        Address = address;

        LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);

        {
            if (layouts.TrySelect(address, out var t, out var b, out var n, "MarkArray"))
                MarkArray = target.ReadPointerField(b, t, n);
            else
                MarkArray = default(TargetPointer?);
        }
        {
            if (layouts.TrySelect(address, out var t, out var b, out var n, "NextSweepObj"))
                NextSweepObj = target.ReadPointerField(b, t, n);
            else
                NextSweepObj = default(TargetPointer?);
        }
        {
            if (layouts.TrySelect(address, out var t, out var b, out var n, "BackgroundMinSavedAddr"))
                BackgroundMinSavedAddr = target.ReadPointerField(b, t, n);
            else
                BackgroundMinSavedAddr = default(TargetPointer?);
        }
        {
            if (layouts.TrySelect(address, out var t, out var b, out var n, "BackgroundMaxSavedAddr"))
                BackgroundMaxSavedAddr = target.ReadPointerField(b, t, n);
            else
                BackgroundMaxSavedAddr = default(TargetPointer?);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "AllocAllocated");
            AllocAllocated = target.ReadPointerField(b, t, n);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "EphemeralHeapSegment");
            EphemeralHeapSegment = target.ReadPointerField(b, t, n);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "CardTable");
            CardTable = target.ReadPointerField(b, t, n);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "FinalizeQueue");
            FinalizeQueue = target.ReadPointerField(b, t, n);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "GenerationTable");
            GenerationTable = b + (ulong)t.Fields[n].Offset;
        }
        {
            if (layouts.TrySelect(address, out var t, out var b, out var n, "SavedSweepEphemeralSeg"))
                SavedSweepEphemeralSeg = target.ReadPointerField(b, t, n);
            else
                SavedSweepEphemeralSeg = default(TargetPointer?);
        }
        {
            if (layouts.TrySelect(address, out var t, out var b, out var n, "SavedSweepEphemeralStart"))
                SavedSweepEphemeralStart = target.ReadPointerField(b, t, n);
            else
                SavedSweepEphemeralStart = default(TargetPointer?);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "OomData");
            OomData = target.ReadDataField<Data.OomHistory>(b, t, n);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "InternalRootArray");
            InternalRootArray = target.ReadPointerField(b, t, n);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "InternalRootArrayIndex");
            InternalRootArrayIndex = target.ReadNUIntField(b, t, n);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "HeapAnalyzeSuccess");
            HeapAnalyzeSuccess = target.ReadField<int>(b, t, n) != 0;
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "InterestingData");
            InterestingData = b + (ulong)t.Fields[n].Offset;
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "CompactReasons");
            CompactReasons = b + (ulong)t.Fields[n].Offset;
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "ExpandMechanisms");
            ExpandMechanisms = b + (ulong)t.Fields[n].Offset;
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "InterestingMechanismBits");
            InterestingMechanismBits = b + (ulong)t.Fields[n].Offset;
        }
        {
            if (layouts.TrySelect(address, out var t, out var b, out var n, "FreeableSohSegment"))
                FreeableSohSegment = target.ReadPointerField(b, t, n);
            else
                FreeableSohSegment = default(TargetPointer?);
        }
        {
            if (layouts.TrySelect(address, out var t, out var b, out var n, "FreeableUohSegment"))
                FreeableUohSegment = target.ReadPointerField(b, t, n);
            else
                FreeableUohSegment = default(TargetPointer?);
        }
        {
            if (layouts.TrySelect(address, out var t, out var b, out var n, "FreeRegions"))
                FreeRegions = target.ReadPointerField(b, t, n);
            else
                FreeRegions = default(TargetPointer?);
        }

        OnInit(target, address);
    }

    static GCHeapSVR IData<GCHeapSVR>.Create(Target target, TargetPointer address)
        => new GCHeapSVR(target, address);

}