ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (17)
88sections.Add(new AnalyzedSwitchSection(labels: default, defaultBodyOpt, defaultBodyOpt.Syntax));
189return new AnalyzedSwitchSection(labels.ToImmutable(), operation.WhenTrue, operation.Syntax);
280ConstantResult.Left when op.LeftOperand.Syntax is TExpressionSyntax left
282ConstantResult.Right when op.RightOperand.Syntax is TExpressionSyntax right
315if (Supports(Feature.CaseGuard) && op.RightOperand.Syntax is TExpressionSyntax node)
325when Supports(Feature.IsTypePattern) && CheckTargetExpression(op.ValueOperand) && op.Syntax is TIsExpressionSyntax node:
329when Supports(Feature.SourcePattern) && CheckTargetExpression(op.Value) && op.Pattern.Syntax is TPatternSyntax pattern:
343ConstantResult.Left when op.LeftOperand.Syntax is TExpressionSyntax left
345ConstantResult.Right when op.RightOperand.Syntax is TExpressionSyntax right
378when CheckTargetExpression(low.Expression, high.Expression) => (low.Value.Syntax, high.Value.Syntax),
380when CheckTargetExpression(low.Expression, high.Expression) => (low.Value.Syntax, high.Value.Syntax),
385=> _syntaxFacts.AreEquivalent(left.Syntax, right.Syntax) && this.CheckTargetExpression(left);
446var expression = operation.Syntax;
466return CanImplicitlyConvert(operation.SemanticModel, operation.Syntax, _switchTargetType);