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

◆ MarkHelper()

void System.Reflection.Emit.__ExceptionInfo.MarkHelper ( int catchorfilterAddr,
int catchEndAddr,
Type catchClass,
int type )
inlineprivate

Definition at line 44 of file __ExceptionInfo.cs.

45 {
46 int currentCatch = m_currentCatch;
47 if (currentCatch >= m_catchAddr.Length)
48 {
49 m_filterAddr = ILGenerator.EnlargeArray(m_filterAddr);
50 m_catchAddr = ILGenerator.EnlargeArray(m_catchAddr);
51 m_catchEndAddr = ILGenerator.EnlargeArray(m_catchEndAddr);
52 m_catchClass = ILGenerator.EnlargeArray(m_catchClass);
53 m_type = ILGenerator.EnlargeArray(m_type);
54 }
55 if (type == 1)
56 {
57 m_type[currentCatch] = type;
58 m_filterAddr[currentCatch] = catchorfilterAddr;
59 m_catchAddr[currentCatch] = -1;
60 if (currentCatch > 0)
61 {
62 m_catchEndAddr[currentCatch - 1] = catchorfilterAddr;
63 }
64 }
65 else
66 {
67 m_catchClass[currentCatch] = catchClass;
68 if (m_type[currentCatch] != 1)
69 {
70 m_type[currentCatch] = type;
71 }
72 m_catchAddr[currentCatch] = catchorfilterAddr;
73 if (currentCatch > 0 && m_type[currentCatch] != 1)
74 {
75 m_catchEndAddr[currentCatch - 1] = catchEndAddr;
76 }
77 m_catchEndAddr[currentCatch] = -1;
79 }
80 if (m_endAddr == -1)
81 {
82 m_endAddr = catchorfilterAddr;
83 }
84 }

References System.Reflection.Emit.__ExceptionInfo.m_catchAddr, System.Reflection.Emit.__ExceptionInfo.m_catchClass, System.Reflection.Emit.__ExceptionInfo.m_catchEndAddr, System.Reflection.Emit.__ExceptionInfo.m_currentCatch, System.Reflection.Emit.__ExceptionInfo.m_endAddr, System.Reflection.Emit.__ExceptionInfo.m_filterAddr, System.Reflection.Emit.__ExceptionInfo.m_type, and System.type.

Referenced by System.Reflection.Emit.__ExceptionInfo.MarkCatchAddr(), System.Reflection.Emit.__ExceptionInfo.MarkFaultAddr(), System.Reflection.Emit.__ExceptionInfo.MarkFilterAddr(), and System.Reflection.Emit.__ExceptionInfo.MarkFinallyAddr().