// <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>ModuleLookupMap</c> type.</summary>
partial class ModuleLookupMap : global::Microsoft.Diagnostics.DataContractReader.Data.IReadableData
{
private static readonly string[] _typeNames = new[] { "ModuleLookupMap" };
[UsesDataDescriptorTypeSize]
public static uint GetSize(Target target)
=> checked((uint)LayoutSet.Resolve(target, _typeNames).InstanceSize);
[DataDescriptorDependency("TableData", "pointer")]
public static int GetTableDataOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "TableData");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("Next", "pointer")]
public static int GetNextOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "Next");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("Count", "uint32")]
public static int GetCountOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "Count");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("SupportedFlagsMask", "nuint")]
public static int GetSupportedFlagsMaskOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "SupportedFlagsMask");
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 ModuleLookupMap(Target target, TargetPointer address)
{
Address = address;
_target = target;
_layouts = LayoutSet.Resolve(target, _typeNames);
OnInit(target, address);
}
static ModuleLookupMap IData<ModuleLookupMap>.Create(Target target, TargetPointer address)
=> new ModuleLookupMap(target, address);
private TargetPointer _TableData__value = default!;
private bool _TableData__read;
[DataDescriptorDependency("TableData", "pointer")]
public partial TargetPointer TableData
{
get
{
if (!_TableData__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "TableData");
_TableData__value = _target.ReadPointerField(b, t, n);
_TableData__read = true;
}
return _TableData__value;
}
}
private TargetPointer _Next__value = default!;
private bool _Next__read;
[DataDescriptorDependency("Next", "pointer")]
public partial TargetPointer Next
{
get
{
if (!_Next__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "Next");
_Next__value = _target.ReadPointerField(b, t, n);
_Next__read = true;
}
return _Next__value;
}
}
private uint _Count__value = default!;
private bool _Count__read;
[DataDescriptorDependency("Count", "uint32")]
public partial uint Count
{
get
{
if (!_Count__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "Count");
_Count__value = _target.ReadField<uint>(b, t, n);
_Count__read = true;
}
return _Count__value;
}
}
private TargetNUInt _SupportedFlagsMask__value = default!;
private bool _SupportedFlagsMask__read;
[DataDescriptorDependency("SupportedFlagsMask", "nuint")]
public partial TargetNUInt SupportedFlagsMask
{
get
{
if (!_SupportedFlagsMask__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "SupportedFlagsMask");
_SupportedFlagsMask__value = _target.ReadNUIntField(b, t, n);
_SupportedFlagsMask__read = true;
}
return _SupportedFlagsMask__value;
}
}
[DataDescriptorDependency("TableData", "pointer")]
[DataDescriptorDependency("Next", "pointer")]
[DataDescriptorDependency("Count", "uint32")]
[DataDescriptorDependency("SupportedFlagsMask", "nuint")]
void global::Microsoft.Diagnostics.DataContractReader.Data.IReadableData.EnsureAllFieldsRead()
{
_ = TableData;
_ = Next;
_ = Count;
_ = SupportedFlagsMask;
}
}