6 types derived from AnalyzedPattern
Microsoft.CodeAnalysis.Features (6)
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.AnalyzedNodes.cs (6)
66internal sealed class Type : AnalyzedPattern 77internal sealed class Source : AnalyzedPattern 88internal sealed class Constant : AnalyzedPattern 99internal sealed class Relational : AnalyzedPattern 114internal sealed class Range : AnalyzedPattern 129internal sealed class And : AnalyzedPattern
30 references to AnalyzedPattern
Microsoft.CodeAnalysis.CSharp.Features (7)
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.Rewriting.cs (7)
95private static PatternSyntax AsPatternSyntax(AnalyzedPattern pattern, Feature feature) 98AnalyzedPattern.And p => BinaryPattern(SyntaxKind.AndPattern, AsPatternSyntax(p.LeftPattern, feature).Parenthesize(), AsPatternSyntax(p.RightPattern, feature).Parenthesize()), 99AnalyzedPattern.Constant p => ConstantPattern(p.ExpressionSyntax), 100AnalyzedPattern.Source p => p.PatternSyntax, 101AnalyzedPattern.Type p when feature.HasFlag(Feature.TypePattern) => TypePattern((TypeSyntax)p.IsExpressionSyntax.Right), 102AnalyzedPattern.Type p => DeclarationPattern((TypeSyntax)p.IsExpressionSyntax.Right, DiscardDesignation()), 103AnalyzedPattern.Relational p => RelationalPattern(Token(s_operatorMap[p.OperatorKind]), p.Value),
Microsoft.CodeAnalysis.Features (19)
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.AnalyzedNodes.cs (6)
44public readonly AnalyzedPattern Pattern; 47public AnalyzedSwitchLabel(AnalyzedPattern pattern, ImmutableArray<TExpressionSyntax> guards) 131public readonly AnalyzedPattern LeftPattern; 132public readonly AnalyzedPattern RightPattern; 134public And(AnalyzedPattern leftPattern, AnalyzedPattern rightPattern)
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (13)
223var pattern = ParsePattern(operation, guards); 269private AnalyzedPattern? ParsePattern(IOperation operation, ArrayBuilder<TExpressionSyntax> guards) 275return new AnalyzedPattern.Range(lower, higher); 281=> new AnalyzedPattern.Constant(left), 283=> new AnalyzedPattern.Constant(right), 300var leftPattern = ParsePattern(op.LeftOperand, guards); 307var rightPattern = ParsePattern(op.RightOperand, guards); 309return new AnalyzedPattern.And(leftPattern, rightPattern); 326return new AnalyzedPattern.Type(node); 330return new AnalyzedPattern.Source(pattern); 339private AnalyzedPattern? ParseRelationalPattern(IBinaryOperation op) 344=> new AnalyzedPattern.Relational(Flip(op.OperatorKind), left), 346=> new AnalyzedPattern.Relational(op.OperatorKind, right),
Microsoft.CodeAnalysis.VisualBasic.Features (4)
ConvertIfToSwitch\VisualBasicConvertIfToSwitchCodeRefactoringProvider.Rewriting.vb (4)
40Private Shared Function AsCaseClauseSyntax(pattern As AnalyzedPattern) As CaseClauseSyntax 42Function(p As AnalyzedPattern.Constant) SyntaxFactory.SimpleCaseClause(p.ExpressionSyntax), 43Function(p As AnalyzedPattern.Range) SyntaxFactory.RangeCaseClause(p.LowerBound, p.HigherBound), 44Function(p As AnalyzedPattern.Relational)