128 lines
3.1 KiB
C#
128 lines
3.1 KiB
C#
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;
|
|
}
|
|
}
|