1 implementation of Pattern
Microsoft.CodeAnalysis (1)
Generated\Operations.Generated.cs (1)
7201public IPatternOperation Pattern { get; }
35 references to Pattern
ILLink.RoslynAnalyzer (1)
DataFlow\FeatureChecksVisitor.cs (1)
129 if (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)
618if (FlowConversionOperandValue(conversionInference, targetType: operation.Pattern.GetPatternType()))
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ParameterValidationAnalysis\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (2)
440GetNullAbstractValue(operation.Pattern) == NullAbstractValue.Null) 447GetNullAbstractValue(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)
1240var targetType = operation.Pattern.GetPatternType(); 1272IPatternOperation patternOperation = isPatternOperation.Pattern; 1561switch (isPatternOperation.Pattern.Kind) 1564if (!((IDeclarationPatternOperation)isPatternOperation.Pattern).MatchesNull) 1567predicateValueKind = SetValueForIsNullComparisonOperator(isPatternOperation.Pattern, equals: FlowBranchConditionKind == ControlFlowConditionKind.WhenFalse, targetAnalysisData: targetAnalysisData); 1590var constantPattern = (IConstantPatternOperation)isPatternOperation.Pattern; 1596var negatedPattern = (INegatedPatternOperation)isPatternOperation.Pattern; 1621var binaryPattern = (IBinaryPatternOperation)isPatternOperation.Pattern; 1629var binaryPattern = (IBinaryPatternOperation)isPatternOperation.Pattern; 1639Debug.Fail($"Unknown pattern kind '{isPatternOperation.Pattern.Kind}'"); 3843_ = Visit(operation.Pattern, argument); 3846if (operation.Pattern is IDeclarationPatternOperation) 3849target: 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 (3)
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (1)
336when Supports(Feature.SourcePattern) && CheckTargetExpression(op.Value) && op.Pattern.Syntax is TPatternSyntax pattern:
InitializeParameter\AbstractAddParameterCheckCodeRefactoringProvider.cs (1)
237isPatternOperation.Pattern is IConstantPatternOperation constantPattern)
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)
2059Visit(operation.Pattern, "Pattern");
Compilation\TestOperationVisitor.cs (1)
1574AssertEx.Equal(new[] { operation.Value, operation.Pattern }, operation.ChildOperations);