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

◆ SerializeExceptionTable()

void System.Reflection.Metadata.Ecma335.ControlFlowBuilder.SerializeExceptionTable ( BlobBuilder builder)
inlinepackage

Definition at line 219 of file ControlFlowBuilder.cs.

220 {
222 {
223 return;
224 }
225 ExceptionRegionEncoder exceptionRegionEncoder = ExceptionRegionEncoder.SerializeTableHeader(builder, _lazyExceptionHandlers.Count, HasSmallExceptionRegions());
226 foreach (ExceptionHandlerInfo lazyExceptionHandler in _lazyExceptionHandlers)
227 {
233 {
235 }
237 {
239 }
240 int catchTokenOrOffset = lazyExceptionHandler.Kind switch
241 {
242 ExceptionRegionKind.Catch => MetadataTokens.GetToken(lazyExceptionHandler.CatchType),
243 ExceptionRegionKind.Filter => GetLabelOffsetChecked(lazyExceptionHandler.FilterStart),
244 _ => 0,
245 };
247 }
248 }
ImmutableArray< ExceptionHandlerInfo >.Builder _lazyExceptionHandlers
static string InvalidExceptionRegionBounds
Definition SR.cs:240
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
Definition SR.cs:7

References System.Reflection.Metadata.Ecma335.ControlFlowBuilder._lazyExceptionHandlers, System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.SR.Format(), System.Reflection.Metadata.Ecma335.ControlFlowBuilder.GetLabelOffsetChecked(), System.Reflection.Metadata.Ecma335.MetadataTokens.GetToken(), System.Reflection.Metadata.Ecma335.ControlFlowBuilder.HasSmallExceptionRegions(), System.SR.InvalidExceptionRegionBounds, System.Reflection.Throw.InvalidOperation(), and System.Reflection.Metadata.Ecma335.ExceptionRegionEncoder.SerializeTableHeader().

Referenced by System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder.AddMethodBody().