Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ SerializeTableHeader()

static ExceptionRegionEncoder System.Reflection.Metadata.Ecma335.ExceptionRegionEncoder.SerializeTableHeader ( BlobBuilder builder,
int exceptionRegionCount,
bool hasSmallRegions )
inlinestaticpackage

Definition at line 61 of file ExceptionRegionEncoder.cs.

62 {
63 bool flag = hasSmallRegions && IsSmallRegionCount(exceptionRegionCount);
64 int exceptionTableSize = GetExceptionTableSize(exceptionRegionCount, flag);
65 builder.Align(4);
66 if (flag)
67 {
68 builder.WriteByte(1);
69 builder.WriteByte((byte)exceptionTableSize);
70 builder.WriteInt16(0);
71 }
72 else
73 {
74 builder.WriteByte(65);
75 builder.WriteByte((byte)exceptionTableSize);
76 builder.WriteUInt16((ushort)(exceptionTableSize >> 8));
77 }
78 return new ExceptionRegionEncoder(builder, flag);
79 }
ExceptionRegionEncoder(BlobBuilder builder, bool hasSmallFormat)
static int GetExceptionTableSize(int exceptionRegionCount, bool isSmallFormat)

References System.Reflection.Metadata.Ecma335.ExceptionRegionEncoder.ExceptionRegionEncoder(), System.Reflection.Metadata.BlobBuilder.Align(), System.Reflection.Metadata.Ecma335.ExceptionRegionEncoder.GetExceptionTableSize(), System.Reflection.Metadata.Ecma335.ExceptionRegionEncoder.IsSmallRegionCount(), System.Reflection.Metadata.BlobBuilder.WriteByte(), System.Reflection.Metadata.BlobBuilder.WriteInt16(), and System.Reflection.Metadata.BlobBuilder.WriteUInt16().

Referenced by System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder.AddMethodBody(), and System.Reflection.Metadata.Ecma335.ControlFlowBuilder.SerializeExceptionTable().