MethodDecorator.Fody.MethodDecorator.GetCatchHandlerInstructions C# (CSharp) Method

GetCatchHandlerInstructions() private static method

private static GetCatchHandlerInstructions ( Mono.Cecil.Cil.ILProcessor processor, Mono.Cecil.Cil.VariableDefinition attributeVariableDefinition, Mono.Cecil.Cil.VariableDefinition exceptionVariableDefinition, MethodReference onExceptionMethodRef ) : List
processor Mono.Cecil.Cil.ILProcessor
attributeVariableDefinition Mono.Cecil.Cil.VariableDefinition
exceptionVariableDefinition Mono.Cecil.Cil.VariableDefinition
onExceptionMethodRef Mono.Cecil.MethodReference
return List
        private static List<Instruction> GetCatchHandlerInstructions(ILProcessor processor, VariableDefinition attributeVariableDefinition, VariableDefinition exceptionVariableDefinition, MethodReference onExceptionMethodRef)
        {
            // Store the exception in __fody$exception
            // Call __fody$attribute.OnExcetion("{methodName}", __fody$exception)
            // rethrow
            return new List<Instruction>
                   {
                       processor.Create(OpCodes.Stloc_S, exceptionVariableDefinition),
                       processor.Create(OpCodes.Ldloc_S, attributeVariableDefinition),
                       processor.Create(OpCodes.Ldloc_S, exceptionVariableDefinition),
                       processor.Create(OpCodes.Callvirt, onExceptionMethodRef),
                       processor.Create(OpCodes.Rethrow)
                   };
        }