using System; using System.Collections; using System.Collections.Generic; namespace Zodiacon.DebugHelp { // Token: 0x02000009 RID: 9 public sealed class StructDescriptor : IReadOnlyList, IReadOnlyCollection, IEnumerable, IEnumerable { // Token: 0x06000019 RID: 25 RVA: 0x000021BA File Offset: 0x000003BA internal StructDescriptor(int capacity = 8) { this._membersByName = new Dictionary(capacity, StringComparer.InvariantCultureIgnoreCase); this._members = new List(capacity); } // Token: 0x0600001A RID: 26 RVA: 0x000021E0 File Offset: 0x000003E0 public int GetOffsetOf(string memberName) { StructMember structMember; if (!this._membersByName.TryGetValue(memberName, out structMember)) { return -1; } return structMember.Offset; } // Token: 0x0600001B RID: 27 RVA: 0x00002208 File Offset: 0x00000408 public StructMember GetMember(string memberName) { StructMember result; if (!this._membersByName.TryGetValue(memberName, out result)) { return null; } return result; } // Token: 0x1700000B RID: 11 // (get) Token: 0x0600001C RID: 28 RVA: 0x00002228 File Offset: 0x00000428 // (set) Token: 0x0600001D RID: 29 RVA: 0x00002230 File Offset: 0x00000430 public int Length { get; internal set; } // Token: 0x1700000C RID: 12 // (get) Token: 0x0600001E RID: 30 RVA: 0x00002239 File Offset: 0x00000439 public int Count { get { return this._members.Count; } } // Token: 0x1700000D RID: 13 public StructMember this[int index] { get { return this._members[index]; } } // Token: 0x06000020 RID: 32 RVA: 0x00002254 File Offset: 0x00000454 public void AddMember(StructMember member) { member.Parent = this; this._membersByName.Add(member.Symbol.Name, member); this._members.Add(member); } // Token: 0x06000021 RID: 33 RVA: 0x00002280 File Offset: 0x00000480 public IEnumerator GetEnumerator() { return this._members.GetEnumerator(); } // Token: 0x06000022 RID: 34 RVA: 0x00002292 File Offset: 0x00000492 IEnumerator IEnumerable.GetEnumerator() { return this.GetEnumerator(); } // Token: 0x0400000B RID: 11 private readonly Dictionary _membersByName; // Token: 0x0400000C RID: 12 private readonly List _members; } }