1 implementation of Pattern
Microsoft.CodeAnalysis (1)
Generated\Operations.Generated.cs (1)
7201public IPatternOperation Pattern { get; }
36 references to Pattern
ILLink.RoslynAnalyzer (1)
DataFlow\FeatureChecksVisitor.cs (1)
133if (GetExpectedValueFromPattern(operation.Pattern) is not bool patternValue)
Microsoft.CodeAnalysis (1)
Operations\ControlFlowGraphBuilder.cs (1)
7436var visitedPattern = (IPatternOperation)VisitRequired(operation.Pattern);
Microsoft.CodeAnalysis.AnalyzerUtilities (17)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\CopyAnalysis\CopyAnalysis.CopyDataFlowOperationVisitor.cs (1)
617if (FlowConversionOperandValue(conversionInference, targetType: operation.Pattern.GetPatternType()))
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ParameterValidationAnalysis\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (2)
441GetNullAbstractValue(operation.Pattern) == NullAbstractValue.Null) 448GetNullAbstractValue(operation.Pattern) == NullAbstractValue.NotNull)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\ConversionInference.cs (1)
25targetType: operation.Pattern.GetPatternType(),
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (13)
1242var targetType = operation.Pattern.GetPatternType(); 1274IPatternOperation patternOperation = isPatternOperation.Pattern; 1563switch (isPatternOperation.Pattern.Kind) 1566if (!((IDeclarationPatternOperation)isPatternOperation.Pattern).MatchesNull) 1569predicateValueKind = SetValueForIsNullComparisonOperator(isPatternOperation.Pattern, equals: FlowBranchConditionKind == ControlFlowConditionKind.WhenFalse, targetAnalysisData: targetAnalysisData); 1592var constantPattern = (IConstantPatternOperation)isPatternOperation.Pattern; 1598var negatedPattern = (INegatedPatternOperation)isPatternOperation.Pattern; 1623var binaryPattern = (IBinaryPatternOperation)isPatternOperation.Pattern; 1631var binaryPattern = (IBinaryPatternOperation)isPatternOperation.Pattern; 1641Debug.Fail($"Unknown pattern kind '{isPatternOperation.Pattern.Kind}'"); 3845_ = Visit(operation.Pattern, argument); 3848if (operation.Pattern is IDeclarationPatternOperation) 3851target: operation.Pattern,
Microsoft.CodeAnalysis.CodeStyle (1)
src\Analyzers\Core\Analyzers\RemoveRedundantEquality\AbstractRemoveRedundantEqualityDiagnosticAnalyzer.cs (1)
39if (operation.Pattern is not IConstantPatternOperation { Value.ConstantValue.Value: true or false } constantPattern)
Microsoft.CodeAnalysis.CSharp.CodeStyle (1)
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsAnalyzer.cs (1)
64case IIsPatternOperation { Pattern.Syntax: PatternSyntax pattern } op:
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (4)
src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (4)
682constantPattern = (patternOp.Pattern as INegatedPatternOperation)?. 687constantPattern = patternOp.Pattern as IConstantPatternOperation; 828Pattern: IPatternOperation isPattern 1005Pattern: INegatedPatternOperation
Microsoft.CodeAnalysis.CSharp.Features (5)
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsAnalyzer.cs (1)
64case IIsPatternOperation { Pattern.Syntax: PatternSyntax pattern } op:
src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (4)
682constantPattern = (patternOp.Pattern as INegatedPatternOperation)?. 687constantPattern = patternOp.Pattern as IConstantPatternOperation; 828Pattern: IPatternOperation isPattern 1005Pattern: INegatedPatternOperation
Microsoft.CodeAnalysis.Features (4)
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (1)
337when Supports(Feature.SourcePattern) && CheckTargetExpression(op.Value) && op.Pattern.Syntax is TPatternSyntax pattern:
InitializeParameter\AbstractAddParameterCheckCodeRefactoringProvider.cs (2)
277isPatternOperation.Pattern is IConstantPatternOperation constantPattern) 318Pattern: IRelationalPatternOperation
src\Analyzers\Core\Analyzers\RemoveRedundantEquality\AbstractRemoveRedundantEqualityDiagnosticAnalyzer.cs (1)
39if (operation.Pattern is not IConstantPatternOperation { Value.ConstantValue.Value: true or false } constantPattern)
Microsoft.CodeAnalysis.Test.Utilities (2)
Compilation\OperationTreeVerifier.cs (1)
2041Visit(operation.Pattern, "Pattern");
Compilation\TestOperationVisitor.cs (1)
1575AssertEx.Equal(new[] { operation.Value, operation.Pattern }, operation.ChildOperations);