using System; namespace System.Reflection.Emit { // Token: 0x020001F9 RID: 505 internal struct ILExceptionInfo { // Token: 0x06001A91 RID: 6801 RVA: 0x000632A4 File Offset: 0x000614A4 internal int NumHandlers() { return this.handlers.Length; } // Token: 0x06001A92 RID: 6802 RVA: 0x000632B0 File Offset: 0x000614B0 internal void AddCatch(Type extype, int offset) { this.End(offset); this.add_block(offset); int num = this.handlers.Length - 1; this.handlers[num].type = 0; this.handlers[num].start = offset; this.handlers[num].extype = extype; } // Token: 0x06001A93 RID: 6803 RVA: 0x0006330C File Offset: 0x0006150C internal void AddFinally(int offset) { this.End(offset); this.add_block(offset); int num = this.handlers.Length - 1; this.handlers[num].type = 2; this.handlers[num].start = offset; this.handlers[num].extype = null; } // Token: 0x06001A94 RID: 6804 RVA: 0x00063368 File Offset: 0x00061568 internal void AddFault(int offset) { this.End(offset); this.add_block(offset); int num = this.handlers.Length - 1; this.handlers[num].type = 4; this.handlers[num].start = offset; this.handlers[num].extype = null; } // Token: 0x06001A95 RID: 6805 RVA: 0x000633C4 File Offset: 0x000615C4 internal void AddFilter(int offset) { this.End(offset); this.add_block(offset); int num = this.handlers.Length - 1; this.handlers[num].type = -1; this.handlers[num].extype = null; this.handlers[num].filter_offset = offset; } // Token: 0x06001A96 RID: 6806 RVA: 0x00063420 File Offset: 0x00061620 internal void End(int offset) { if (this.handlers == null) { return; } int num = this.handlers.Length - 1; if (num >= 0) { this.handlers[num].len = offset - this.handlers[num].start; } } // Token: 0x06001A97 RID: 6807 RVA: 0x00063470 File Offset: 0x00061670 internal int LastClauseType() { if (this.handlers != null) { return this.handlers[this.handlers.Length - 1].type; } return 0; } // Token: 0x06001A98 RID: 6808 RVA: 0x0006349C File Offset: 0x0006169C internal void PatchFilterClause(int start) { if (this.handlers != null && this.handlers.Length > 0) { this.handlers[this.handlers.Length - 1].start = start; this.handlers[this.handlers.Length - 1].type = 1; } } // Token: 0x06001A99 RID: 6809 RVA: 0x000634F8 File Offset: 0x000616F8 internal void Debug(int b) { } // Token: 0x06001A9A RID: 6810 RVA: 0x000634FC File Offset: 0x000616FC private void add_block(int offset) { if (this.handlers != null) { int num = this.handlers.Length; ILExceptionBlock[] array = new ILExceptionBlock[num + 1]; Array.Copy(this.handlers, array, num); this.handlers = array; this.handlers[num].len = offset - this.handlers[num].start; } else { this.handlers = new ILExceptionBlock[1]; this.len = offset - this.start; } } // Token: 0x040007DF RID: 2015 private ILExceptionBlock[] handlers; // Token: 0x040007E0 RID: 2016 internal int start; // Token: 0x040007E1 RID: 2017 private int len; // Token: 0x040007E2 RID: 2018 internal Label end; } }