Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
RuntimeExceptionHandlingClause.cs
Go to the documentation of this file.
3
4namespace System.Reflection;
5
7{
9
11
12 private int _tryOffset;
13
14 private int _tryLength;
15
16 private int _handlerOffset;
17
18 private int _handlerLength;
19
21
22 private int _filterOffset;
23
24 public override ExceptionHandlingClauseOptions Flags => _flags;
25
26 public override int TryOffset => _tryOffset;
27
28 public override int TryLength => _tryLength;
29
30 public override int HandlerOffset => _handlerOffset;
31
32 public override int HandlerLength => _handlerLength;
33
34 public override int FilterOffset
35 {
36 get
37 {
39 {
41 }
42 return _filterOffset;
43 }
44 }
45
46 public override Type CatchType
47 {
48 [UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Module.ResolveType is marked as RequiresUnreferencedCode because it relies on tokenswhich are not guaranteed to be stable across trimming. So if somebody hardcodes a token it could break.The usage here is not like that as all these tokens come from existing metadata loaded from some ILand so trimming has no effect (the tokens are read AFTER trimming occured).")]
49 get
50 {
51 if (_flags != 0)
52 {
54 }
55 Type result = null;
57 {
59 Module module = ((declaringType == null) ? _methodBody._methodBase.Module : declaringType.Module);
60 result = module.ResolveType(_catchMetadataToken, declaringType?.GetGenericArguments(), (_methodBody._methodBase is MethodInfo) ? _methodBody._methodBase.GetGenericArguments() : null);
61 }
62 return result;
63 }
64 }
65
67 {
68 }
69
70 public override string ToString()
71 {
72 if (Flags == ExceptionHandlingClauseOptions.Clause)
73 {
74 return string.Format(CultureInfo.CurrentUICulture, "Flags={0}, TryOffset={1}, TryLength={2}, HandlerOffset={3}, HandlerLength={4}, CatchType={5}", Flags, TryOffset, TryLength, HandlerOffset, HandlerLength, CatchType);
75 }
76 if (Flags == ExceptionHandlingClauseOptions.Filter)
77 {
78 return string.Format(CultureInfo.CurrentUICulture, "Flags={0}, TryOffset={1}, TryLength={2}, HandlerOffset={3}, HandlerLength={4}, FilterOffset={5}", Flags, TryOffset, TryLength, HandlerOffset, HandlerLength, FilterOffset);
79 }
80 return string.Format(CultureInfo.CurrentUICulture, "Flags={0}, TryOffset={1}, TryLength={2}, HandlerOffset={3}, HandlerLength={4}", Flags, TryOffset, TryLength, HandlerOffset, HandlerLength);
81 }
82}
static CultureInfo CurrentUICulture
virtual Type[] GetGenericArguments()
Type ResolveType(int metadataToken)
Definition Module.cs:295
static string Arg_EHClauseNotFilter
Definition SR.cs:132
static string Arg_EHClauseNotClause
Definition SR.cs:130
Definition SR.cs:7
new Module Module
Definition Type.cs:51
static bool IsNullToken(int token)