PropertyWeaver.AddBeforeAfterInvokerCall C# (CSharp) Method

AddBeforeAfterInvokerCall() private method

private AddBeforeAfterInvokerCall ( int index, Mono.Cecil.PropertyDefinition property ) : int
index int
property Mono.Cecil.PropertyDefinition
return int
    int AddBeforeAfterInvokerCall(int index, PropertyDefinition property)
    {
        var beforeVariable = new VariableDefinition(typeSystem.Object);
        setMethodBody.Variables.Add(beforeVariable);
        var afterVariable = new VariableDefinition(typeSystem.Object);
        setMethodBody.Variables.Add(afterVariable);

        index = InsertVariableAssignmentFromCurrentValue(index, property, afterVariable);

        index = instructions.Insert(index,
            Instruction.Create(OpCodes.Ldarg_0),
            Instruction.Create(OpCodes.Ldstr, property.Name),
            Instruction.Create(OpCodes.Ldloc, beforeVariable),
            Instruction.Create(OpCodes.Ldloc, afterVariable),
            CallEventInvoker(property)
            );

        return AddBeforeVariableAssignment(index, property, beforeVariable);
    }