10 interfaces inheriting from IPatternOperation
Microsoft.CodeAnalysis (10)
Generated\Operations.Generated.cs (10)
2912
public interface IConstantPatternOperation :
IPatternOperation
2936
public interface IDeclarationPatternOperation :
IPatternOperation
3216
public interface IRecursivePatternOperation :
IPatternOperation
3258
public interface IDiscardPatternOperation :
IPatternOperation
3504
public interface INegatedPatternOperation :
IPatternOperation
3528
public interface IBinaryPatternOperation :
IPatternOperation
3560
public interface ITypePatternOperation :
IPatternOperation
3584
public interface IRelationalPatternOperation :
IPatternOperation
3769
public interface IListPatternOperation :
IPatternOperation
3801
public interface ISlicePatternOperation :
IPatternOperation
1 implementation of IPatternOperation
Microsoft.CodeAnalysis (1)
Generated\Operations.Generated.cs (1)
8544
internal abstract partial class BasePatternOperation : Operation,
IPatternOperation
99 references to IPatternOperation
GenerateDocumentationAndConfigFiles (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
390
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)
ILLink.RoslynAnalyzer (1)
DataFlow\FeatureChecksVisitor.cs (1)
142
static bool? GetExpectedValueFromPattern(
IPatternOperation
pattern)
Metrics (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
390
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)
Metrics.Legacy (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
390
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)
Microsoft.CodeAnalysis (46)
Generated\Operations.Generated.cs (30)
2152
IPatternOperation
Pattern { get; }
2721
IPatternOperation
Pattern { get; }
3231
ImmutableArray<
IPatternOperation
> DeconstructionSubpatterns { get; }
3309
IPatternOperation
Pattern { get; }
3345
IPatternOperation
Pattern { get; }
3509
IPatternOperation
Pattern { get; }
3537
IPatternOperation
LeftPattern { get; }
3541
IPatternOperation
RightPattern { get; }
3784
ImmutableArray<
IPatternOperation
> Patterns { get; }
3810
IPatternOperation
? Pattern { get; }
7231
internal IsPatternOperation(IOperation value,
IPatternOperation
pattern, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit)
7239
public
IPatternOperation
Pattern { get; }
8188
internal PatternCaseClauseOperation(ILabelSymbol label,
IPatternOperation
pattern, IOperation? guard, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
8195
public
IPatternOperation
Pattern { get; }
9265
internal RecursivePatternOperation(ITypeSymbol matchedType, ISymbol? deconstructSymbol, ImmutableArray<
IPatternOperation
> deconstructionSubpatterns, ImmutableArray<IPropertySubpatternOperation> propertySubpatterns, ISymbol? declaredSymbol, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9276
public ImmutableArray<
IPatternOperation
> DeconstructionSubpatterns { get; }
9424
internal SwitchExpressionArmOperation(
IPatternOperation
pattern, IOperation? guard, IOperation value, ImmutableArray<ILocalSymbol> locals, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9432
public
IPatternOperation
Pattern { get; }
9499
internal PropertySubpatternOperation(IOperation member,
IPatternOperation
pattern, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9506
public
IPatternOperation
Pattern { get; }
9876
internal NegatedPatternOperation(
IPatternOperation
pattern, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9881
public
IPatternOperation
Pattern { get; }
9927
internal BinaryPatternOperation(BinaryOperatorKind operatorKind,
IPatternOperation
leftPattern,
IPatternOperation
rightPattern, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9935
public
IPatternOperation
LeftPattern { get; }
9936
public
IPatternOperation
RightPattern { get; }
10395
internal ListPatternOperation(ISymbol? lengthSymbol, ISymbol? indexerSymbol, ImmutableArray<
IPatternOperation
> patterns, ISymbol? declaredSymbol, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
10405
public ImmutableArray<
IPatternOperation
> Patterns { get; }
10456
internal SlicePatternOperation(ISymbol? sliceSymbol,
IPatternOperation
? pattern, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
10463
public
IPatternOperation
? Pattern { get; }
Operations\ControlFlowGraphBuilder.cs (16)
5610
var
pattern = (
IPatternOperation
)VisitRequired(patternClause.Pattern);
7469
var
visitedPattern = (
IPatternOperation
)VisitRequired(operation.Pattern);
7603
return createOperation(this, operation, (
IPatternOperation
)VisitRequired(operation.LeftPattern));
7617
var
result = (
IPatternOperation
)VisitRequired(current.LeftPattern);
7626
static BinaryPatternOperation createOperation(ControlFlowGraphBuilder @this, IBinaryPatternOperation operation,
IPatternOperation
left)
7631
rightPattern: (
IPatternOperation
)@this.VisitRequired(operation.RightPattern),
7643
pattern: (
IPatternOperation
)VisitRequired(operation.Pattern),
7679
(
IPatternOperation
?)Visit(operation.Pattern),
7692
operation.Patterns.SelectAsArray((p, @this) => (
IPatternOperation
)@this.VisitRequired(p), this),
7706
operation.DeconstructionSubpatterns.SelectAsArray((p, @this) => (
IPatternOperation
)@this.VisitRequired(p), this),
7720
(
IPatternOperation
)VisitRequired(operation.Pattern),
7790
var
visitedPattern = (
IPatternOperation
)VisitRequired(arm.Pattern);
Microsoft.CodeAnalysis.Analyzers (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
390
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)
Microsoft.CodeAnalysis.AnalyzerUtilities (2)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
390
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (1)
1274
IPatternOperation
patternOperation = isPatternOperation.Pattern;
Microsoft.CodeAnalysis.BannedApiAnalyzers (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
390
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)
Microsoft.CodeAnalysis.CodeStyle (2)
src\Analyzers\Core\Analyzers\PopulateSwitch\PopulateSwitchExpressionHelpers.cs (2)
88
public static bool IsDefault(
IPatternOperation
pattern)
116
var
pattern = arm.Pattern;
Microsoft.CodeAnalysis.CSharp (25)
Operations\CSharpOperationFactory.cs (25)
2597
ImmutableArray<
IPatternOperation
> deconstructionSubpatterns = boundRecursivePattern.Deconstruction is { IsDefault: false } deconstructions
2598
? deconstructions.SelectAsArray((p, fac) => (
IPatternOperation
)fac.Create(p.Pattern), this)
2599
: ImmutableArray<
IPatternOperation
>.Empty;
2618
ImmutableArray<
IPatternOperation
> deconstructionSubpatterns = boundITuplePattern.Subpatterns is { IsDefault: false } subpatterns
2619
? subpatterns.SelectAsArray((p, fac) => (
IPatternOperation
)fac.Create(p.Pattern), this)
2620
: ImmutableArray<
IPatternOperation
>.Empty;
2651
pattern: (
IPatternOperation
?)Create(boundNode.Pattern),
2664
patterns: boundNode.Subpatterns.SelectAsArray((p, fac) => (
IPatternOperation
)fac.Create(p), this),
2676
(
IPatternOperation
)Create(boundNegatedPattern.Negated),
2688
return createOperation(this, boundBinaryPattern, left: (
IPatternOperation
)Create(boundBinaryPattern.Left));
2702
var
result = (
IPatternOperation
)Create(current.Left);
2711
static BinaryPatternOperation createOperation(CSharpOperationFactory @this, BoundBinaryPattern boundBinaryPattern,
IPatternOperation
left)
2716
(
IPatternOperation
)@this.Create(boundBinaryPattern.Right),
2773
IPatternOperation
pattern = (
IPatternOperation
)Create(boundSwitchExpressionArm.Pattern);
2806
IPatternOperation
pattern = (
IPatternOperation
)Create(boundSwitchLabel.Pattern);
2815
IPatternOperation
pattern = (
IPatternOperation
)Create(boundIsPatternExpression.Pattern);
2899
IPatternOperation
pattern = (
IPatternOperation
)Create(subpattern.Pattern);
2923
IPatternOperation
nestedPattern = new RecursivePatternOperation(
2924
matchedType: previousType, deconstructSymbol: null, deconstructionSubpatterns: ImmutableArray<
IPatternOperation
>.Empty,
2933
IPropertySubpatternOperation createPropertySubpattern(Symbol? symbol,
IPatternOperation
pattern, ITypeSymbol receiverType, SyntaxNode nameSyntax, bool isSingle)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (3)
src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (2)
828
Pattern:
IPatternOperation
isPattern
833
bool TryGetBoundVariableForIsPattern(
IPatternOperation
isPattern, [NotNullWhen(true)] out ISymbol? boundVariable)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
1614
_ when SemanticModel.GetOperation(pattern, CancellationToken) is
IPatternOperation
patternOperation =>
Microsoft.CodeAnalysis.CSharp.Features (2)
src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (2)
828
Pattern:
IPatternOperation
isPattern
833
bool TryGetBoundVariableForIsPattern(
IPatternOperation
isPattern, [NotNullWhen(true)] out ISymbol? boundVariable)
Microsoft.CodeAnalysis.CSharp.Workspaces (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
1614
_ when SemanticModel.GetOperation(pattern, CancellationToken) is
IPatternOperation
patternOperation =>
Microsoft.CodeAnalysis.Features (2)
src\Analyzers\Core\Analyzers\PopulateSwitch\PopulateSwitchExpressionHelpers.cs (2)
88
public static bool IsDefault(
IPatternOperation
pattern)
116
var
pattern = arm.Pattern;
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
390
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)
Microsoft.CodeAnalysis.PublicApiAnalyzers (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
390
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)
Microsoft.CodeAnalysis.ResxSourceGenerator (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
390
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)
Microsoft.CodeAnalysis.Test.Utilities (3)
Compilation\OperationTreeVerifier.cs (2)
76
private void LogPatternPropertiesAndNewLine(
IPatternOperation
operation)
83
private void LogPatternProperties(
IPatternOperation
operation)
Compilation\TestOperationVisitor.cs (1)
1364
private void VisitPatternCommon(
IPatternOperation
pattern)
Roslyn.Diagnostics.Analyzers (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
390
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)
Roslyn.Diagnostics.CSharp.Analyzers (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
1614
_ when SemanticModel.GetOperation(pattern, CancellationToken) is
IPatternOperation
patternOperation =>
Test.Utilities (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
390
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)
Text.Analyzers (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
390
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)