File: _generated\164\Microsoft_Diagnostics_DataContractReader_Data.RCW.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>RCW</c> type.</summary>
partial class RCW : global::Microsoft.Diagnostics.DataContractReader.Data.IReadableData
{
    private static readonly string[] _typeNames = new[] { "RCW" };

    [UsesDataDescriptorTypeSize]
    public static uint GetSize(Target target)
        => checked((uint)LayoutSet.Resolve(target, _typeNames).InstanceSize);

    [DataDescriptorDependency("NextCleanupBucket", "pointer")]
    public static int GetNextCleanupBucketOffset(Target target)
    {
        LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
        layouts.Select(default, out var type, out _, out var name, "NextCleanupBucket");
        return type.Fields[name].Offset;
    }

    [DataDescriptorDependency("NextRCW", "pointer")]
    public static int GetNextRCWOffset(Target target)
    {
        LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
        layouts.Select(default, out var type, out _, out var name, "NextRCW");
        return type.Fields[name].Offset;
    }

    [DataDescriptorDependency("Flags", "uint32")]
    public static int GetFlagsOffset(Target target)
    {
        LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
        layouts.Select(default, out var type, out _, out var name, "Flags");
        return type.Fields[name].Offset;
    }

    [DataDescriptorDependency("CtxCookie", "pointer")]
    public static int GetCtxCookieOffset(Target target)
    {
        LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
        layouts.Select(default, out var type, out _, out var name, "CtxCookie");
        return type.Fields[name].Offset;
    }

    [DataDescriptorDependency("CtxEntry", "pointer")]
    public static int GetCtxEntryOffset(Target target)
    {
        LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
        layouts.Select(default, out var type, out _, out var name, "CtxEntry");
        return type.Fields[name].Offset;
    }

    [DataDescriptorDependency("IdentityPointer", "pointer")]
    public static int GetIdentityPointerOffset(Target target)
    {
        LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
        layouts.Select(default, out var type, out _, out var name, "IdentityPointer");
        return type.Fields[name].Offset;
    }

    [DataDescriptorDependency("SyncBlockIndex", "uint32")]
    public static int GetSyncBlockIndexOffset(Target target)
    {
        LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
        layouts.Select(default, out var type, out _, out var name, "SyncBlockIndex");
        return type.Fields[name].Offset;
    }

    [DataDescriptorDependency("VTablePtr", "pointer")]
    public static int GetVTablePtrOffset(Target target)
    {
        LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
        layouts.Select(default, out var type, out _, out var name, "VTablePtr");
        return type.Fields[name].Offset;
    }

    [DataDescriptorDependency("CreatorThread", "pointer")]
    public static int GetCreatorThreadOffset(Target target)
    {
        LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
        layouts.Select(default, out var type, out _, out var name, "CreatorThread");
        return type.Fields[name].Offset;
    }

    [DataDescriptorDependency("RefCount", "uint32")]
    public static int GetRefCountOffset(Target target)
    {
        LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
        layouts.Select(default, out var type, out _, out var name, "RefCount");
        return type.Fields[name].Offset;
    }

    [DataDescriptorDependency("UnknownPointer", "pointer")]
    public static int GetUnknownPointerOffset(Target target)
    {
        LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
        layouts.Select(default, out var type, out _, out var name, "UnknownPointer");
        return type.Fields[name].Offset;
    }

    public TargetPointer Address { get; }

    private readonly Target _target;

    private readonly LayoutSet _layouts;

    partial void OnInit(Target target, TargetPointer address);

    public RCW(Target target, TargetPointer address)
    {
        Address = address;
        _target = target;
        _layouts = LayoutSet.Resolve(target, _typeNames);

        OnInit(target, address);
    }

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

    private TargetPointer _NextCleanupBucket__value = default!;
    private bool _NextCleanupBucket__read;
    [DataDescriptorDependency("NextCleanupBucket", "pointer")]
    public partial TargetPointer NextCleanupBucket
    {
        get
        {
            if (!_NextCleanupBucket__read)
            {
                _layouts.Select(Address, out var t, out var b, out var n, "NextCleanupBucket");
                _NextCleanupBucket__value = _target.ReadPointerField(b, t, n);
                _NextCleanupBucket__read = true;
            }
            return _NextCleanupBucket__value;
        }
    }

    private TargetPointer _NextRCW__value = default!;
    private bool _NextRCW__read;
    [DataDescriptorDependency("NextRCW", "pointer")]
    public partial TargetPointer NextRCW
    {
        get
        {
            if (!_NextRCW__read)
            {
                _layouts.Select(Address, out var t, out var b, out var n, "NextRCW");
                _NextRCW__value = _target.ReadPointerField(b, t, n);
                _NextRCW__read = true;
            }
            return _NextRCW__value;
        }
    }

    private uint _Flags__value = default!;
    private bool _Flags__read;
    [DataDescriptorDependency("Flags", "uint32")]
    public partial uint Flags
    {
        get
        {
            if (!_Flags__read)
            {
                _layouts.Select(Address, out var t, out var b, out var n, "Flags");
                _Flags__value = _target.ReadField<uint>(b, t, n);
                _Flags__read = true;
            }
            return _Flags__value;
        }
    }

    private TargetPointer _CtxCookie__value = default!;
    private bool _CtxCookie__read;
    [DataDescriptorDependency("CtxCookie", "pointer")]
    public partial TargetPointer CtxCookie
    {
        get
        {
            if (!_CtxCookie__read)
            {
                _layouts.Select(Address, out var t, out var b, out var n, "CtxCookie");
                _CtxCookie__value = _target.ReadPointerField(b, t, n);
                _CtxCookie__read = true;
            }
            return _CtxCookie__value;
        }
    }

    private TargetPointer _CtxEntry__value = default!;
    private bool _CtxEntry__read;
    [DataDescriptorDependency("CtxEntry", "pointer")]
    public partial TargetPointer CtxEntry
    {
        get
        {
            if (!_CtxEntry__read)
            {
                _layouts.Select(Address, out var t, out var b, out var n, "CtxEntry");
                _CtxEntry__value = _target.ReadPointerField(b, t, n);
                _CtxEntry__read = true;
            }
            return _CtxEntry__value;
        }
    }

    private TargetPointer _IdentityPointer__value = default!;
    private bool _IdentityPointer__read;
    [DataDescriptorDependency("IdentityPointer", "pointer")]
    public partial TargetPointer IdentityPointer
    {
        get
        {
            if (!_IdentityPointer__read)
            {
                _layouts.Select(Address, out var t, out var b, out var n, "IdentityPointer");
                _IdentityPointer__value = _target.ReadPointerField(b, t, n);
                _IdentityPointer__read = true;
            }
            return _IdentityPointer__value;
        }
    }

    private uint _SyncBlockIndex__value = default!;
    private bool _SyncBlockIndex__read;
    [DataDescriptorDependency("SyncBlockIndex", "uint32")]
    public partial uint SyncBlockIndex
    {
        get
        {
            if (!_SyncBlockIndex__read)
            {
                _layouts.Select(Address, out var t, out var b, out var n, "SyncBlockIndex");
                _SyncBlockIndex__value = _target.ReadField<uint>(b, t, n);
                _SyncBlockIndex__read = true;
            }
            return _SyncBlockIndex__value;
        }
    }

    private TargetPointer _VTablePtr__value = default!;
    private bool _VTablePtr__read;
    [DataDescriptorDependency("VTablePtr", "pointer")]
    public partial TargetPointer VTablePtr
    {
        get
        {
            if (!_VTablePtr__read)
            {
                _layouts.Select(Address, out var t, out var b, out var n, "VTablePtr");
                _VTablePtr__value = _target.ReadPointerField(b, t, n);
                _VTablePtr__read = true;
            }
            return _VTablePtr__value;
        }
    }

    private TargetPointer _CreatorThread__value = default!;
    private bool _CreatorThread__read;
    [DataDescriptorDependency("CreatorThread", "pointer")]
    public partial TargetPointer CreatorThread
    {
        get
        {
            if (!_CreatorThread__read)
            {
                _layouts.Select(Address, out var t, out var b, out var n, "CreatorThread");
                _CreatorThread__value = _target.ReadPointerField(b, t, n);
                _CreatorThread__read = true;
            }
            return _CreatorThread__value;
        }
    }

    private uint _RefCount__value = default!;
    private bool _RefCount__read;
    [DataDescriptorDependency("RefCount", "uint32")]
    public partial uint RefCount
    {
        get
        {
            if (!_RefCount__read)
            {
                _layouts.Select(Address, out var t, out var b, out var n, "RefCount");
                _RefCount__value = _target.ReadField<uint>(b, t, n);
                _RefCount__read = true;
            }
            return _RefCount__value;
        }
    }

    private TargetPointer _UnknownPointer__value = default!;
    private bool _UnknownPointer__read;
    [DataDescriptorDependency("UnknownPointer", "pointer")]
    public partial TargetPointer UnknownPointer
    {
        get
        {
            if (!_UnknownPointer__read)
            {
                _layouts.Select(Address, out var t, out var b, out var n, "UnknownPointer");
                _UnknownPointer__value = _target.ReadPointerField(b, t, n);
                _UnknownPointer__read = true;
            }
            return _UnknownPointer__value;
        }
    }

    [DataDescriptorDependency("NextCleanupBucket", "pointer")]
    [DataDescriptorDependency("NextRCW", "pointer")]
    [DataDescriptorDependency("Flags", "uint32")]
    [DataDescriptorDependency("CtxCookie", "pointer")]
    [DataDescriptorDependency("CtxEntry", "pointer")]
    [DataDescriptorDependency("IdentityPointer", "pointer")]
    [DataDescriptorDependency("SyncBlockIndex", "uint32")]
    [DataDescriptorDependency("VTablePtr", "pointer")]
    [DataDescriptorDependency("CreatorThread", "pointer")]
    [DataDescriptorDependency("RefCount", "uint32")]
    [DataDescriptorDependency("UnknownPointer", "pointer")]
    void global::Microsoft.Diagnostics.DataContractReader.Data.IReadableData.EnsureAllFieldsRead()
    {
        _ = NextCleanupBucket;
        _ = NextRCW;
        _ = Flags;
        _ = CtxCookie;
        _ = CtxEntry;
        _ = IdentityPointer;
        _ = SyncBlockIndex;
        _ = VTablePtr;
        _ = CreatorThread;
        _ = RefCount;
        _ = UnknownPointer;
    }

}