public static bool IsDefault(ISwitchExpressionArmOperation arm) { if (arm.Pattern.Kind == OperationKind.DiscardPattern) { return(true); } if (arm.Pattern is IDeclarationPatternOperation declarationPattern) { return(declarationPattern.MatchesNull); } return(false); }
private void AnalyzeExpression(OperationAnalysisContext obj) { ISwitchExpressionOperation operation = (ISwitchExpressionOperation)obj.Operation; if (operation.Arms.Length != 1) { return; } ISwitchExpressionArmOperation caseOperation = operation.Arms[0]; if (caseOperation.Pattern.Kind == OperationKind.DiscardPattern) { obj.ReportDiagnostic(Diagnostic.Create(Rule, operation.Arms[0].Syntax.GetLocation())); return; } }
public virtual void VisitSwitchExpressionArm(ISwitchExpressionArmOperation operation) { DefaultVisit(operation); }