The last instruction of a catch exception handler.
상속: IndexedBranchInstruction
예제 #1
0
 internal static LeaveExceptionHandlerInstruction Create(int labelIndex, bool hasValue)
 {
     if (labelIndex < CacheSize)
     {
         int index = (2 * labelIndex) | (hasValue ? 1 : 0);
         return(Cache[index] ?? (Cache[index] = new LeaveExceptionHandlerInstruction(labelIndex, hasValue)));
     }
     return(new LeaveExceptionHandlerInstruction(labelIndex, hasValue));
 }
예제 #2
0
 public void EmitLeaveExceptionHandler(bool hasValue, BranchLabel tryExpressionEndLabel)
 {
     Emit(LeaveExceptionHandlerInstruction.Create(EnsureLabelIndex(tryExpressionEndLabel), hasValue));
 }
예제 #3
0
 internal static LeaveExceptionHandlerInstruction Create(int labelIndex, bool hasValue) {
     if (labelIndex < CacheSize) {
         int index = (2 * labelIndex) | (hasValue ? 1 : 0);
         return Cache[index] ?? (Cache[index] = new LeaveExceptionHandlerInstruction(labelIndex, hasValue));
     }
     return new LeaveExceptionHandlerInstruction(labelIndex, hasValue);
 }