Beispiel #1
0
        private static void ReportAtLastClause([NotNull] ISwitchCaseOperation switchCase, OperationAnalysisContext context)
        {
            ICaseClauseOperation lastClause = switchCase.Clauses.Last();

            Location location = lastClause.GetLocationForKeyword();

            context.ReportDiagnostic(Diagnostic.Create(Rule, location));
        }
Beispiel #2
0
        public override void VisitSwitchCase(ISwitchCaseOperation operation)
        {
            Assert.Equal(OperationKind.SwitchCase, operation.Kind);
            VisitLocals(operation.Locals);
            AssertEx.Equal(operation.Clauses.Concat(operation.Body), operation.Children);

            VerifySubTree(((BaseSwitchCase)operation).Condition);
        }
Beispiel #3
0
        private static bool HasDefaultCase(ISwitchCaseOperation switchCase)
        {
            foreach (var clause in switchCase.Clauses)
            {
                if (clause.CaseKind == CaseKind.Default)
                {
                    return(true);
                }
            }

            return(false);
        }
Beispiel #4
0
        private void Analyze(OperationAnalysisContext obj)
        {
            ISwitchOperation operation = (ISwitchOperation)obj.Operation;

            if (operation.Cases.Length != 1)
            {
                return;
            }

            ISwitchCaseOperation caseOperation = operation.Cases[0];

            if (caseOperation.Clauses.Any(x => x.Label?.Name == "default"))
            {
                obj.ReportDiagnostic(Diagnostic.Create(Rule, operation.Cases[0].Syntax.GetLocation()));
                return;
            }
        }
Beispiel #5
0
 public override IOperation VisitSwitchCase(ISwitchCaseOperation operation, object argument)
 {
     return(new SwitchCase(operation.Locals, ((BaseSwitchCase)operation).Condition, VisitArray(operation.Clauses), VisitArray(operation.Body), ((Operation)operation).SemanticModel, operation.Syntax, operation.Type, operation.ConstantValue, operation.IsImplicit));
 }
Beispiel #6
0
 public override void VisitSwitchCase(ISwitchCaseOperation operation)
 {
     Assert.Equal(OperationKind.SwitchCase, operation.Kind);
     AssertEx.Equal(operation.Clauses.Concat(operation.Body), operation.Children);
 }
Beispiel #7
0
 public virtual void VisitSwitchCase(ISwitchCaseOperation operation)
 {
     DefaultVisit(operation);
 }
 public override void VisitSwitchCase([NotNull] ISwitchCaseOperation operation)
 {
     VisitArray(operation.Clauses);
 }
Beispiel #9
0
 public override void VisitSwitchCase([NotNull] ISwitchCaseOperation operation)
 {
     base.VisitSwitchCase(operation);
 }
Beispiel #10
0
 public override bool VisitSwitchCase([NotNull] ISwitchCaseOperation operation1, [CanBeNull] IOperation argument)
 {
     return(argument is ISwitchCaseOperation operation2 && AreBaseOperationsEqual(operation1, operation2));
 }