PropertyWeaver.AddEventInvokeCall C# (CSharp) Method

AddEventInvokeCall() private method

private AddEventInvokeCall ( int index, Mono.Cecil.PropertyDefinition property ) : int
index int
property Mono.Cecil.PropertyDefinition
return int
    int AddEventInvokeCall(int index, PropertyDefinition property)
    {
        index = AddOnChangedMethodCall(index, property);
        if (propertyData.AlreadyNotifies.Contains(property.Name))
        {
            moduleWeaver.LogDebug($"\t\t\t{property.Name} skipped since call already exists");
            return index;
        }

        moduleWeaver.LogDebug($"\t\t\t{property.Name}");
        if (typeNode.EventInvoker.InvokerType == InvokerTypes.BeforeAfterGeneric)
        {
            return AddBeforeAfterGenericInvokerCall(index, property);
        }
        if (typeNode.EventInvoker.InvokerType == InvokerTypes.BeforeAfter)
        {
            return AddBeforeAfterInvokerCall(index, property);
        }
        if (typeNode.EventInvoker.InvokerType == InvokerTypes.PropertyChangedArg)
        {
            return AddPropertyChangedArgInvokerCall(index, property);
        }
        if (typeNode.EventInvoker.InvokerType == InvokerTypes.SenderPropertyChangedArg)
        {
            return AddSenderPropertyChangedArgInvokerCall(index, property);
        }
        return AddSimpleInvokerCall(index, property);
    }