// <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>ThreadStressLog</c> type.</summary>
partial class ThreadStressLog : global::Microsoft.Diagnostics.DataContractReader.Data.IReadableData
{
private static readonly string[] _typeNames = new[] { "ThreadStressLog" };
[UsesDataDescriptorTypeSize]
public static uint GetSize(Target target)
=> checked((uint)LayoutSet.Resolve(target, _typeNames).InstanceSize);
[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("ThreadId", "uint64")]
public static int GetThreadIdOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "ThreadId");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("WriteHasWrapped", "uint8")]
public static int GetWriteHasWrappedOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "WriteHasWrapped");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("CurrentPtr", "pointer")]
public static int GetCurrentPtrOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "CurrentPtr");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("ChunkListHead", "pointer")]
public static int GetChunkListHeadOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "ChunkListHead");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("ChunkListTail", "pointer")]
public static int GetChunkListTailOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "ChunkListTail");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("CurrentWriteChunk", "pointer")]
public static int GetCurrentWriteChunkOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "CurrentWriteChunk");
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 ThreadStressLog(Target target, TargetPointer address)
{
Address = address;
_target = target;
_layouts = LayoutSet.Resolve(target, _typeNames);
OnInit(target, address);
}
static ThreadStressLog IData<ThreadStressLog>.Create(Target target, TargetPointer address)
=> new ThreadStressLog(target, address);
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 ulong _ThreadId__value = default!;
private bool _ThreadId__read;
[DataDescriptorDependency("ThreadId", "uint64")]
public partial ulong ThreadId
{
get
{
if (!_ThreadId__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "ThreadId");
_ThreadId__value = _target.ReadField<ulong>(b, t, n);
_ThreadId__read = true;
}
return _ThreadId__value;
}
}
private bool _WriteHasWrapped__value = default!;
private bool _WriteHasWrapped__read;
[DataDescriptorDependency("WriteHasWrapped", "uint8")]
public partial bool WriteHasWrapped
{
get
{
if (!_WriteHasWrapped__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "WriteHasWrapped");
_WriteHasWrapped__value = _target.ReadField<byte>(b, t, n) != 0;
_WriteHasWrapped__read = true;
}
return _WriteHasWrapped__value;
}
}
private TargetPointer _CurrentPtr__value = default!;
private bool _CurrentPtr__read;
[DataDescriptorDependency("CurrentPtr", "pointer")]
public partial TargetPointer CurrentPtr
{
get
{
if (!_CurrentPtr__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "CurrentPtr");
_CurrentPtr__value = _target.ReadPointerField(b, t, n);
_CurrentPtr__read = true;
}
return _CurrentPtr__value;
}
}
private TargetPointer _ChunkListHead__value = default!;
private bool _ChunkListHead__read;
[DataDescriptorDependency("ChunkListHead", "pointer")]
public partial TargetPointer ChunkListHead
{
get
{
if (!_ChunkListHead__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "ChunkListHead");
_ChunkListHead__value = _target.ReadPointerField(b, t, n);
_ChunkListHead__read = true;
}
return _ChunkListHead__value;
}
}
private TargetPointer _ChunkListTail__value = default!;
private bool _ChunkListTail__read;
[DataDescriptorDependency("ChunkListTail", "pointer")]
public partial TargetPointer ChunkListTail
{
get
{
if (!_ChunkListTail__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "ChunkListTail");
_ChunkListTail__value = _target.ReadPointerField(b, t, n);
_ChunkListTail__read = true;
}
return _ChunkListTail__value;
}
}
private TargetPointer _CurrentWriteChunk__value = default!;
private bool _CurrentWriteChunk__read;
[DataDescriptorDependency("CurrentWriteChunk", "pointer")]
public partial TargetPointer CurrentWriteChunk
{
get
{
if (!_CurrentWriteChunk__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "CurrentWriteChunk");
_CurrentWriteChunk__value = _target.ReadPointerField(b, t, n);
_CurrentWriteChunk__read = true;
}
return _CurrentWriteChunk__value;
}
}
[DataDescriptorDependency("Next", "pointer")]
[DataDescriptorDependency("ThreadId", "uint64")]
[DataDescriptorDependency("WriteHasWrapped", "uint8")]
[DataDescriptorDependency("CurrentPtr", "pointer")]
[DataDescriptorDependency("ChunkListHead", "pointer")]
[DataDescriptorDependency("ChunkListTail", "pointer")]
[DataDescriptorDependency("CurrentWriteChunk", "pointer")]
void global::Microsoft.Diagnostics.DataContractReader.Data.IReadableData.EnsureAllFieldsRead()
{
_ = Next;
_ = ThreadId;
_ = WriteHasWrapped;
_ = CurrentPtr;
_ = ChunkListHead;
_ = ChunkListTail;
_ = CurrentWriteChunk;
}
}