public override void VisitEventAssignment(IEventAssignmentOperation operation)
        {
            Assert.Equal(OperationKind.EventAssignment, operation.Kind);
            var adds = operation.Adds;

            AssertEx.Equal(new[] { operation.EventReference, operation.HandlerValue }, operation.Children);
        }
Exemple #2
0
 private static AbstractExpression ReadEventAssignment(IEventAssignmentOperation op)
 {
     return(new AssignmentExpression {
         Left = (IAssignable)ReadExpression(op.EventReference),
         Right = ReadExpression(op.HandlerValue),
         CompoundOperator = (op.Adds ? CompoundAssignmentOperator.Addition : CompoundAssignmentOperator.Subtraction)
     });
 }
        private static void AnalyzeEventAssignmentMethod([NotNull] IMethodReferenceOperation binding,
                                                         [NotNull] IEventAssignmentOperation assignment, OperationAnalysisContext context)
        {
            string eventTargetName     = GetEventTargetName(assignment.EventReference.Instance);
            string handlerNameExpected = string.Concat(eventTargetName, "On", assignment.EventReference.Event.Name);

            string handlerNameActual = binding.Method.Name;

            if (handlerNameActual != handlerNameExpected)
            {
                context.ReportDiagnostic(Diagnostic.Create(Rule, binding.Syntax.GetLocation(), handlerNameActual,
                                                           assignment.EventReference.Event.Name, handlerNameExpected));
            }
        }
        public override void VisitEventAssignment(IEventAssignmentOperation operation)
        {
            Assert.Equal(OperationKind.EventAssignment, operation.Kind);
            var adds = operation.Adds;

            // operation.EventReference shouldn't be null. The following conditional logic is
            // a work around for https://github.com/dotnet/roslyn/issues/23810 and should
            // be removed once the issue is fixed
            if (operation.EventReference == null)
            {
                Assert.Equal(LanguageNames.VisualBasic, operation.Language);
                Assert.Same(operation.HandlerValue, operation.Children.Single());
            }
            else
            {
                AssertEx.Equal(new[] { operation.EventReference, operation.HandlerValue }, operation.Children);
            }
        }
Exemple #5
0
 public override IOperation VisitEventAssignment(IEventAssignmentOperation operation, object argument)
 {
     return(new EventAssignmentOperation(Visit(operation.EventReference), Visit(operation.HandlerValue), operation.Adds, ((Operation)operation).SemanticModel, operation.Syntax, operation.Type, operation.ConstantValue, operation.IsImplicit));
 }
Exemple #6
0
 public virtual void VisitEventAssignment(IEventAssignmentOperation operation)
 {
     DefaultVisit(operation);
 }
Exemple #7
0
 public override void VisitEventAssignment([NotNull] IEventAssignmentOperation operation)
 {
     base.VisitEventAssignment(operation);
 }
Exemple #8
0
        public override void VisitEventAssignment(IEventAssignmentOperation operation)
        {
            var adds = operation.Adds;

            base.VisitEventAssignment(operation);
        }
 public PortableEventAssignmentOperation([NotNull] IEventAssignmentOperation operation)
 {
     Guard.NotNull(operation, nameof(operation));
     innerOperation = operation;
 }
Exemple #10
0
 public override bool VisitEventAssignment([NotNull] IEventAssignmentOperation operation1,
                                           [CanBeNull] IOperation argument)
 {
     return(argument is IEventAssignmentOperation operation2 && AreBaseOperationsEqual(operation1, operation2) &&
            operation1.Adds == operation2.Adds);
 }