// <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>ThreadLocalData</c> type.</summary>
partial class ThreadLocalData : global::Microsoft.Diagnostics.DataContractReader.Data.IReadableData
{
private static readonly string[] _typeNames = new[] { "ThreadLocalData" };
[UsesDataDescriptorTypeSize]
public static uint GetSize(Target target)
=> checked((uint)LayoutSet.Resolve(target, _typeNames).InstanceSize);
[DataDescriptorDependency("CollectibleTlsArrayData", "pointer")]
public static int GetCollectibleTlsArrayDataOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "CollectibleTlsArrayData");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("NonCollectibleTlsArrayData", "pointer")]
public static int GetNonCollectibleTlsArrayDataOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "NonCollectibleTlsArrayData");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("CollectibleTlsDataCount", "int32")]
public static int GetCollectibleTlsDataCountOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "CollectibleTlsDataCount");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("NonCollectibleTlsDataCount", "int32")]
public static int GetNonCollectibleTlsDataCountOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "NonCollectibleTlsDataCount");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("InFlightData", "pointer")]
public static int GetInFlightDataOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "InFlightData");
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 ThreadLocalData(Target target, TargetPointer address)
{
Address = address;
_target = target;
_layouts = LayoutSet.Resolve(target, _typeNames);
OnInit(target, address);
}
static ThreadLocalData IData<ThreadLocalData>.Create(Target target, TargetPointer address)
=> new ThreadLocalData(target, address);
private TargetPointer _CollectibleTlsArrayData__value = default!;
private bool _CollectibleTlsArrayData__read;
[DataDescriptorDependency("CollectibleTlsArrayData", "pointer")]
public partial TargetPointer CollectibleTlsArrayData
{
get
{
if (!_CollectibleTlsArrayData__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "CollectibleTlsArrayData");
_CollectibleTlsArrayData__value = _target.ReadPointerField(b, t, n);
_CollectibleTlsArrayData__read = true;
}
return _CollectibleTlsArrayData__value;
}
}
private TargetPointer _NonCollectibleTlsArrayData__value = default!;
private bool _NonCollectibleTlsArrayData__read;
[DataDescriptorDependency("NonCollectibleTlsArrayData", "pointer")]
public partial TargetPointer NonCollectibleTlsArrayData
{
get
{
if (!_NonCollectibleTlsArrayData__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "NonCollectibleTlsArrayData");
_NonCollectibleTlsArrayData__value = _target.ReadPointerField(b, t, n);
_NonCollectibleTlsArrayData__read = true;
}
return _NonCollectibleTlsArrayData__value;
}
}
private int _CollectibleTlsDataCount__value = default!;
private bool _CollectibleTlsDataCount__read;
[DataDescriptorDependency("CollectibleTlsDataCount", "int32")]
public partial int CollectibleTlsDataCount
{
get
{
if (!_CollectibleTlsDataCount__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "CollectibleTlsDataCount");
_CollectibleTlsDataCount__value = _target.ReadField<int>(b, t, n);
_CollectibleTlsDataCount__read = true;
}
return _CollectibleTlsDataCount__value;
}
}
private int _NonCollectibleTlsDataCount__value = default!;
private bool _NonCollectibleTlsDataCount__read;
[DataDescriptorDependency("NonCollectibleTlsDataCount", "int32")]
public partial int NonCollectibleTlsDataCount
{
get
{
if (!_NonCollectibleTlsDataCount__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "NonCollectibleTlsDataCount");
_NonCollectibleTlsDataCount__value = _target.ReadField<int>(b, t, n);
_NonCollectibleTlsDataCount__read = true;
}
return _NonCollectibleTlsDataCount__value;
}
}
private TargetPointer _InFlightData__value = default!;
private bool _InFlightData__read;
[DataDescriptorDependency("InFlightData", "pointer")]
public partial TargetPointer InFlightData
{
get
{
if (!_InFlightData__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "InFlightData");
_InFlightData__value = _target.ReadPointerField(b, t, n);
_InFlightData__read = true;
}
return _InFlightData__value;
}
}
[DataDescriptorDependency("CollectibleTlsArrayData", "pointer")]
[DataDescriptorDependency("NonCollectibleTlsArrayData", "pointer")]
[DataDescriptorDependency("CollectibleTlsDataCount", "int32")]
[DataDescriptorDependency("NonCollectibleTlsDataCount", "int32")]
[DataDescriptorDependency("InFlightData", "pointer")]
void global::Microsoft.Diagnostics.DataContractReader.Data.IReadableData.EnsureAllFieldsRead()
{
_ = CollectibleTlsArrayData;
_ = NonCollectibleTlsArrayData;
_ = CollectibleTlsDataCount;
_ = NonCollectibleTlsDataCount;
_ = InFlightData;
}
}