public override void VisitAssignmentExpression(AssignmentExpressionSyntax node) { if (node.Left != null) { var walker = new EventArgsRowWalker(_semanticModel, _pxContext); node.Left.Accept(walker); bool found = walker.Success; if (!found) { _variableMemberAccessWalker.Reset(); node.Left.Accept(_variableMemberAccessWalker); found = _variableMemberAccessWalker.Success; } if (found && _analysisMode == RowChangesAnalysisMode.ChangesForbiddenForRowFromEventArgs) { _context.ReportDiagnostic(Diagnostic.Create(Descriptors.PX1047_RowChangesInEventHandlersForbiddenForArgs, node.GetLocation(), _messageArgs)); } else if (!found && _analysisMode == RowChangesAnalysisMode.ChangesAllowedOnlyForRowFromEventArgs) { _dacInstanceAccessWalker.Reset(); node.Left.Accept(_dacInstanceAccessWalker); if (_dacInstanceAccessWalker.Success) { _context.ReportDiagnostic(Diagnostic.Create(Descriptors.PX1048_RowChangesInEventHandlersAllowedForArgsOnly, node.GetLocation(), _messageArgs)); } } } }
public override void VisitAssignmentExpression(AssignmentExpressionSyntax node) { if (node.Left != null) { var walker = new EventArgsRowWalker(_semanticModel, _pxContext); node.Left.Accept(walker); bool found = walker.Success; if (!found) { _variableMemberAccessWalker.Reset(); node.Left.Accept(_variableMemberAccessWalker); found = _variableMemberAccessWalker.Success; } if (found) { _context.ReportDiagnostic(Diagnostic.Create(Descriptors.PX1047_RowChangesInEventHandlers, node.GetLocation(), _messageArgs)); } } }