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)
8506
internal abstract partial class BasePatternOperation : Operation,
IPatternOperation
95 references to IPatternOperation
ILLink.RoslynAnalyzer (1)
DataFlow\FeatureChecksVisitor.cs (1)
138
static bool? GetExpectedValueFromPattern (
IPatternOperation
pattern)
Metrics (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
567
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)
Metrics.Legacy (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
567
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; }
7193
internal IsPatternOperation(IOperation value,
IPatternOperation
pattern, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit)
7201
public
IPatternOperation
Pattern { get; }
8150
internal PatternCaseClauseOperation(ILabelSymbol label,
IPatternOperation
pattern, IOperation? guard, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
8157
public
IPatternOperation
Pattern { get; }
9227
internal RecursivePatternOperation(ITypeSymbol matchedType, ISymbol? deconstructSymbol, ImmutableArray<
IPatternOperation
> deconstructionSubpatterns, ImmutableArray<IPropertySubpatternOperation> propertySubpatterns, ISymbol? declaredSymbol, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9238
public ImmutableArray<
IPatternOperation
> DeconstructionSubpatterns { get; }
9386
internal SwitchExpressionArmOperation(
IPatternOperation
pattern, IOperation? guard, IOperation value, ImmutableArray<ILocalSymbol> locals, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9394
public
IPatternOperation
Pattern { get; }
9461
internal PropertySubpatternOperation(IOperation member,
IPatternOperation
pattern, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9468
public
IPatternOperation
Pattern { get; }
9838
internal NegatedPatternOperation(
IPatternOperation
pattern, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9843
public
IPatternOperation
Pattern { get; }
9889
internal BinaryPatternOperation(BinaryOperatorKind operatorKind,
IPatternOperation
leftPattern,
IPatternOperation
rightPattern, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9897
public
IPatternOperation
LeftPattern { get; }
9898
public
IPatternOperation
RightPattern { get; }
10357
internal ListPatternOperation(ISymbol? lengthSymbol, ISymbol? indexerSymbol, ImmutableArray<
IPatternOperation
> patterns, ISymbol? declaredSymbol, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
10367
public ImmutableArray<
IPatternOperation
> Patterns { get; }
10418
internal SlicePatternOperation(ISymbol? sliceSymbol,
IPatternOperation
? pattern, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
10425
public
IPatternOperation
? Pattern { get; }
Operations\ControlFlowGraphBuilder.cs (16)
5608
var
pattern = (
IPatternOperation
)VisitRequired(patternClause.Pattern);
7436
var
visitedPattern = (
IPatternOperation
)VisitRequired(operation.Pattern);
7570
return createOperation(this, operation, (
IPatternOperation
)VisitRequired(operation.LeftPattern));
7584
var
result = (
IPatternOperation
)VisitRequired(current.LeftPattern);
7593
static BinaryPatternOperation createOperation(ControlFlowGraphBuilder @this, IBinaryPatternOperation operation,
IPatternOperation
left)
7598
rightPattern: (
IPatternOperation
)@this.VisitRequired(operation.RightPattern),
7610
pattern: (
IPatternOperation
)VisitRequired(operation.Pattern),
7646
(
IPatternOperation
?)Visit(operation.Pattern),
7659
operation.Patterns.SelectAsArray((p, @this) => (
IPatternOperation
)@this.VisitRequired(p), this),
7673
operation.DeconstructionSubpatterns.SelectAsArray((p, @this) => (
IPatternOperation
)@this.VisitRequired(p), this),
7687
(
IPatternOperation
)VisitRequired(operation.Pattern),
7757
var
visitedPattern = (
IPatternOperation
)VisitRequired(arm.Pattern);
Microsoft.CodeAnalysis.Analyzers (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
567
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)
Microsoft.CodeAnalysis.AnalyzerUtilities (2)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
567
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (1)
1272
IPatternOperation
patternOperation = isPatternOperation.Pattern;
Microsoft.CodeAnalysis.BannedApiAnalyzers (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
567
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)
2556
ImmutableArray<
IPatternOperation
> deconstructionSubpatterns = boundRecursivePattern.Deconstruction is { IsDefault: false } deconstructions
2557
? deconstructions.SelectAsArray((p, fac) => (
IPatternOperation
)fac.Create(p.Pattern), this)
2558
: ImmutableArray<
IPatternOperation
>.Empty;
2577
ImmutableArray<
IPatternOperation
> deconstructionSubpatterns = boundITuplePattern.Subpatterns is { IsDefault: false } subpatterns
2578
? subpatterns.SelectAsArray((p, fac) => (
IPatternOperation
)fac.Create(p.Pattern), this)
2579
: ImmutableArray<
IPatternOperation
>.Empty;
2610
pattern: (
IPatternOperation
?)Create(boundNode.Pattern),
2623
patterns: boundNode.Subpatterns.SelectAsArray((p, fac) => (
IPatternOperation
)fac.Create(p), this),
2635
(
IPatternOperation
)Create(boundNegatedPattern.Negated),
2647
return createOperation(this, boundBinaryPattern, left: (
IPatternOperation
)Create(boundBinaryPattern.Left));
2661
var
result = (
IPatternOperation
)Create(current.Left);
2670
static BinaryPatternOperation createOperation(CSharpOperationFactory @this, BoundBinaryPattern boundBinaryPattern,
IPatternOperation
left)
2675
(
IPatternOperation
)@this.Create(boundBinaryPattern.Right),
2732
IPatternOperation
pattern = (
IPatternOperation
)Create(boundSwitchExpressionArm.Pattern);
2765
IPatternOperation
pattern = (
IPatternOperation
)Create(boundSwitchLabel.Pattern);
2774
IPatternOperation
pattern = (
IPatternOperation
)Create(boundIsPatternExpression.Pattern);
2858
IPatternOperation
pattern = (
IPatternOperation
)Create(subpattern.Pattern);
2882
IPatternOperation
nestedPattern = new RecursivePatternOperation(
2883
matchedType: previousType, deconstructSymbol: null, deconstructionSubpatterns: ImmutableArray<
IPatternOperation
>.Empty,
2892
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)
1535
_ 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)
1535
_ 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.ResxSourceGenerator (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
567
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)
1357
private void VisitPatternCommon(
IPatternOperation
pattern)
Roslyn.Diagnostics.Analyzers (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
567
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)
Test.Utilities (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
567
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)
Text.Analyzers (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
567
public static ITypeSymbol? GetPatternType(this
IPatternOperation
pattern)