| File: _generated\5\Microsoft_Diagnostics_DataContractReader_Data.ArrayListBlock.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>ArrayListBlock</c> type.</summary> partial class ArrayListBlock : global::Microsoft.Diagnostics.DataContractReader.Data.IReadableData { private static readonly string[] _typeNames = new[] { "ArrayListBlock" }; [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("Size", "uint32")] public static int GetSizeOffset(Target target) { LayoutSet layouts = LayoutSet.Resolve(target, _typeNames); layouts.Select(default, out var type, out _, out var name, "Size"); return type.Fields[name].Offset; } [DataDescriptorDependency("ArrayStart", "pointer")] public static int GetArrayStartOffset(Target target) { LayoutSet layouts = LayoutSet.Resolve(target, _typeNames); layouts.Select(default, out var type, out _, out var name, "ArrayStart"); return type.Fields[name].Offset; } public TargetPointer Address { get; } private readonly Target _target; private readonly LayoutSet _layouts; public ArrayListBlock(Target target, TargetPointer address) { Address = address; _target = target; _layouts = LayoutSet.Resolve(target, _typeNames); } static ArrayListBlock IData<ArrayListBlock>.Create(Target target, TargetPointer address) => new ArrayListBlock(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 uint _Size__value = default!; private bool _Size__read; [DataDescriptorDependency("Size", "uint32")] public partial uint Size { get { if (!_Size__read) { _layouts.Select(Address, out var t, out var b, out var n, "Size"); _Size__value = _target.ReadField<uint>(b, t, n); _Size__read = true; } return _Size__value; } } private TargetPointer _ArrayStart__value = default!; private bool _ArrayStart__read; [DataDescriptorDependency("ArrayStart", "pointer")] public partial TargetPointer ArrayStart { get { if (!_ArrayStart__read) { _layouts.Select(Address, out var t, out var b, out var n, "ArrayStart"); _ArrayStart__value = b + (ulong)t.Fields[n].Offset; _ArrayStart__read = true; } return _ArrayStart__value; } } [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1822:Mark members as static", Justification = "Generated lazy initializer; may read instance members.")] private partial System.Collections.Generic.IReadOnlyList<global::Microsoft.Diagnostics.DataContractReader.TargetPointer> InitElements(Target target, TargetPointer address); private System.Collections.Generic.IReadOnlyList<global::Microsoft.Diagnostics.DataContractReader.TargetPointer> _Elements__value = default!; private bool _Elements__read; public partial System.Collections.Generic.IReadOnlyList<global::Microsoft.Diagnostics.DataContractReader.TargetPointer> Elements { get { if (!_Elements__read) { _Elements__value = InitElements(_target, Address); _Elements__read = true; } return _Elements__value; } } void global::Microsoft.Diagnostics.DataContractReader.Data.IReadableData.EnsureAllFieldsRead() { _ = Next; _ = Size; _ = ArrayStart; _ = Elements; } }