File: _generated\55\Microsoft_Diagnostics_DataContractReader_Data.ExceptionInfo.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>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;
    }

}