// <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>ExceptionInfo</c> type.</summary>
partial class ExceptionInfo : global::Microsoft.Diagnostics.DataContractReader.Data.IReadableData
{
private static readonly string[] _typeNames = new[] { "ExceptionInfo" };
[UsesDataDescriptorTypeSize]
public static uint GetSize(Target target)
=> checked((uint)LayoutSet.Resolve(target, _typeNames).InstanceSize);
[DataDescriptorDependency("PreviousNestedInfo", "pointer")]
public static int GetPreviousNestedInfoOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "PreviousNestedInfo");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("ThrownObject", "pointer")]
public static int GetThrownObjectOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "ThrownObject");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("ExceptionFlags", "uint32")]
public static int GetExceptionFlagsOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "ExceptionFlags");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("StackLowBound", "pointer")]
public static int GetStackLowBoundOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "StackLowBound");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("StackHighBound", "pointer")]
public static int GetStackHighBoundOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "StackHighBound");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("ExceptionRecord", "pointer")]
public static int GetExceptionRecordOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "ExceptionRecord");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("ContextRecord", "pointer")]
public static int GetContextRecordOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "ContextRecord");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("ExceptionWatsonBucketTrackerBuckets", "pointer")]
public static int GetExceptionWatsonBucketTrackerBucketsOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "ExceptionWatsonBucketTrackerBuckets");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("PassNumber", "uint8")]
public static int GetPassNumberOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "PassNumber");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("CSFEHClause", "pointer")]
public static int GetCSFEHClauseOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "CSFEHClause");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("CSFEnclosingClause", "pointer")]
public static int GetCSFEnclosingClauseOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "CSFEnclosingClause");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("CallerOfActualHandlerFrame", "pointer")]
public static int GetCallerOfActualHandlerFrameOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "CallerOfActualHandlerFrame");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("ClauseForCatchHandlerStartPC", "uint32")]
public static int GetClauseForCatchHandlerStartPCOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "ClauseForCatchHandlerStartPC");
return type.Fields[name].Offset;
}
[DataDescriptorDependency("ClauseForCatchHandlerEndPC", "uint32")]
public static int GetClauseForCatchHandlerEndPCOffset(Target target)
{
LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);
layouts.Select(default, out var type, out _, out var name, "ClauseForCatchHandlerEndPC");
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 ExceptionInfo(Target target, TargetPointer address)
{
Address = address;
_target = target;
_layouts = LayoutSet.Resolve(target, _typeNames);
OnInit(target, address);
}
static ExceptionInfo IData<ExceptionInfo>.Create(Target target, TargetPointer address)
=> new ExceptionInfo(target, address);
private TargetPointer _PreviousNestedInfo__value = default!;
private bool _PreviousNestedInfo__read;
[DataDescriptorDependency("PreviousNestedInfo", "pointer")]
public partial TargetPointer PreviousNestedInfo
{
get
{
if (!_PreviousNestedInfo__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "PreviousNestedInfo");
_PreviousNestedInfo__value = _target.ReadPointerField(b, t, n);
_PreviousNestedInfo__read = true;
}
return _PreviousNestedInfo__value;
}
}
private TargetPointer _ThrownObject__value = default!;
private bool _ThrownObject__read;
[DataDescriptorDependency("ThrownObject", "pointer")]
public partial TargetPointer ThrownObject
{
get
{
if (!_ThrownObject__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "ThrownObject");
_ThrownObject__value = _target.ReadPointerField(b, t, n);
_ThrownObject__read = true;
}
return _ThrownObject__value;
}
}
private uint _ExceptionFlags__value = default!;
private bool _ExceptionFlags__read;
[DataDescriptorDependency("ExceptionFlags", "uint32")]
public partial uint ExceptionFlags
{
get
{
if (!_ExceptionFlags__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "ExceptionFlags");
_ExceptionFlags__value = _target.ReadField<uint>(b, t, n);
_ExceptionFlags__read = true;
}
return _ExceptionFlags__value;
}
}
private TargetPointer _StackLowBound__value = default!;
private bool _StackLowBound__read;
[DataDescriptorDependency("StackLowBound", "pointer")]
public partial TargetPointer StackLowBound
{
get
{
if (!_StackLowBound__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "StackLowBound");
_StackLowBound__value = _target.ReadPointerField(b, t, n);
_StackLowBound__read = true;
}
return _StackLowBound__value;
}
}
private TargetPointer _StackHighBound__value = default!;
private bool _StackHighBound__read;
[DataDescriptorDependency("StackHighBound", "pointer")]
public partial TargetPointer StackHighBound
{
get
{
if (!_StackHighBound__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "StackHighBound");
_StackHighBound__value = _target.ReadPointerField(b, t, n);
_StackHighBound__read = true;
}
return _StackHighBound__value;
}
}
private TargetPointer _ExceptionRecord__value = default!;
private bool _ExceptionRecord__read;
[DataDescriptorDependency("ExceptionRecord", "pointer")]
public partial TargetPointer ExceptionRecord
{
get
{
if (!_ExceptionRecord__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "ExceptionRecord");
_ExceptionRecord__value = _target.ReadPointerField(b, t, n);
_ExceptionRecord__read = true;
}
return _ExceptionRecord__value;
}
}
private TargetPointer _ContextRecord__value = default!;
private bool _ContextRecord__read;
[DataDescriptorDependency("ContextRecord", "pointer")]
public partial TargetPointer ContextRecord
{
get
{
if (!_ContextRecord__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "ContextRecord");
_ContextRecord__value = _target.ReadPointerField(b, t, n);
_ContextRecord__read = true;
}
return _ContextRecord__value;
}
}
private TargetPointer? _ExceptionWatsonBucketTrackerBuckets__value = default!;
private bool _ExceptionWatsonBucketTrackerBuckets__read;
[DataDescriptorDependency("ExceptionWatsonBucketTrackerBuckets", "pointer")]
public partial TargetPointer? ExceptionWatsonBucketTrackerBuckets
{
get
{
if (!_ExceptionWatsonBucketTrackerBuckets__read)
{
if (_layouts.TrySelect(Address, out var t, out var b, out var n, "ExceptionWatsonBucketTrackerBuckets"))
_ExceptionWatsonBucketTrackerBuckets__value = _target.ReadPointerField(b, t, n);
else
_ExceptionWatsonBucketTrackerBuckets__value = default(TargetPointer?);
_ExceptionWatsonBucketTrackerBuckets__read = true;
}
return _ExceptionWatsonBucketTrackerBuckets__value;
}
}
private byte _PassNumber__value = default!;
private bool _PassNumber__read;
[DataDescriptorDependency("PassNumber", "uint8")]
public partial byte PassNumber
{
get
{
if (!_PassNumber__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "PassNumber");
_PassNumber__value = _target.ReadField<byte>(b, t, n);
_PassNumber__read = true;
}
return _PassNumber__value;
}
}
private TargetPointer _CSFEHClause__value = default!;
private bool _CSFEHClause__read;
[DataDescriptorDependency("CSFEHClause", "pointer")]
public partial TargetPointer CSFEHClause
{
get
{
if (!_CSFEHClause__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "CSFEHClause");
_CSFEHClause__value = _target.ReadPointerField(b, t, n);
_CSFEHClause__read = true;
}
return _CSFEHClause__value;
}
}
private TargetPointer _CSFEnclosingClause__value = default!;
private bool _CSFEnclosingClause__read;
[DataDescriptorDependency("CSFEnclosingClause", "pointer")]
public partial TargetPointer CSFEnclosingClause
{
get
{
if (!_CSFEnclosingClause__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "CSFEnclosingClause");
_CSFEnclosingClause__value = _target.ReadPointerField(b, t, n);
_CSFEnclosingClause__read = true;
}
return _CSFEnclosingClause__value;
}
}
private TargetPointer _CallerOfActualHandlerFrame__value = default!;
private bool _CallerOfActualHandlerFrame__read;
[DataDescriptorDependency("CallerOfActualHandlerFrame", "pointer")]
public partial TargetPointer CallerOfActualHandlerFrame
{
get
{
if (!_CallerOfActualHandlerFrame__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "CallerOfActualHandlerFrame");
_CallerOfActualHandlerFrame__value = _target.ReadPointerField(b, t, n);
_CallerOfActualHandlerFrame__read = true;
}
return _CallerOfActualHandlerFrame__value;
}
}
private uint _ClauseForCatchHandlerStartPC__value = default!;
private bool _ClauseForCatchHandlerStartPC__read;
[DataDescriptorDependency("ClauseForCatchHandlerStartPC", "uint32")]
public partial uint ClauseForCatchHandlerStartPC
{
get
{
if (!_ClauseForCatchHandlerStartPC__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "ClauseForCatchHandlerStartPC");
_ClauseForCatchHandlerStartPC__value = _target.ReadField<uint>(b, t, n);
_ClauseForCatchHandlerStartPC__read = true;
}
return _ClauseForCatchHandlerStartPC__value;
}
}
private uint _ClauseForCatchHandlerEndPC__value = default!;
private bool _ClauseForCatchHandlerEndPC__read;
[DataDescriptorDependency("ClauseForCatchHandlerEndPC", "uint32")]
public partial uint ClauseForCatchHandlerEndPC
{
get
{
if (!_ClauseForCatchHandlerEndPC__read)
{
_layouts.Select(Address, out var t, out var b, out var n, "ClauseForCatchHandlerEndPC");
_ClauseForCatchHandlerEndPC__value = _target.ReadField<uint>(b, t, n);
_ClauseForCatchHandlerEndPC__read = true;
}
return _ClauseForCatchHandlerEndPC__value;
}
}
[DataDescriptorDependency("PreviousNestedInfo", "pointer")]
[DataDescriptorDependency("ThrownObject", "pointer")]
[DataDescriptorDependency("ExceptionFlags", "uint32")]
[DataDescriptorDependency("StackLowBound", "pointer")]
[DataDescriptorDependency("StackHighBound", "pointer")]
[DataDescriptorDependency("ExceptionRecord", "pointer")]
[DataDescriptorDependency("ContextRecord", "pointer")]
[DataDescriptorDependency("ExceptionWatsonBucketTrackerBuckets", "pointer")]
[DataDescriptorDependency("PassNumber", "uint8")]
[DataDescriptorDependency("CSFEHClause", "pointer")]
[DataDescriptorDependency("CSFEnclosingClause", "pointer")]
[DataDescriptorDependency("CallerOfActualHandlerFrame", "pointer")]
[DataDescriptorDependency("ClauseForCatchHandlerStartPC", "uint32")]
[DataDescriptorDependency("ClauseForCatchHandlerEndPC", "uint32")]
void global::Microsoft.Diagnostics.DataContractReader.Data.IReadableData.EnsureAllFieldsRead()
{
_ = PreviousNestedInfo;
_ = ThrownObject;
_ = ExceptionFlags;
_ = StackLowBound;
_ = StackHighBound;
_ = ExceptionRecord;
_ = ContextRecord;
_ = ExceptionWatsonBucketTrackerBuckets;
_ = PassNumber;
_ = CSFEHClause;
_ = CSFEnclosingClause;
_ = CallerOfActualHandlerFrame;
_ = ClauseForCatchHandlerStartPC;
_ = ClauseForCatchHandlerEndPC;
}
}