internal static LeaveExceptionHandlerInstruction Create(int labelIndex, bool hasValue)
 {
     if (labelIndex < CacheSize)
     {
         var index = (2 * labelIndex) | (hasValue ? 1 : 0);
         return(_cache[index] ?? (_cache[index] = new LeaveExceptionHandlerInstruction(labelIndex, hasValue)));
     }
     return(new LeaveExceptionHandlerInstruction(labelIndex, hasValue));
 }
 public void EmitLeaveExceptionHandler(bool hasValue, BranchLabel tryExpressionEndLabel)
 {
     Emit(LeaveExceptionHandlerInstruction.Create(EnsureLabelIndex(tryExpressionEndLabel), hasValue));
 }