10 interfaces inheriting from IPatternOperation
Microsoft.CodeAnalysis (10)
1 implementation of IPatternOperation
Microsoft.CodeAnalysis (1)
85 references to IPatternOperation
ILLink.RoslynAnalyzer (1)
Microsoft.CodeAnalysis (46)
Generated\Operations.Generated.cs (30)
2152IPatternOperation Pattern { get; }
2721IPatternOperation Pattern { get; }
3231ImmutableArray<IPatternOperation> DeconstructionSubpatterns { get; }
3309IPatternOperation Pattern { get; }
3345IPatternOperation Pattern { get; }
3509IPatternOperation Pattern { get; }
3537IPatternOperation LeftPattern { get; }
3541IPatternOperation RightPattern { get; }
3784ImmutableArray<IPatternOperation> Patterns { get; }
3810IPatternOperation? Pattern { get; }
7193internal IsPatternOperation(IOperation value, IPatternOperation pattern, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit)
7201public IPatternOperation Pattern { get; }
8150internal PatternCaseClauseOperation(ILabelSymbol label, IPatternOperation pattern, IOperation? guard, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
8157public IPatternOperation Pattern { get; }
9227internal RecursivePatternOperation(ITypeSymbol matchedType, ISymbol? deconstructSymbol, ImmutableArray<IPatternOperation> deconstructionSubpatterns, ImmutableArray<IPropertySubpatternOperation> propertySubpatterns, ISymbol? declaredSymbol, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9238public ImmutableArray<IPatternOperation> DeconstructionSubpatterns { get; }
9386internal SwitchExpressionArmOperation(IPatternOperation pattern, IOperation? guard, IOperation value, ImmutableArray<ILocalSymbol> locals, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9394public IPatternOperation Pattern { get; }
9461internal PropertySubpatternOperation(IOperation member, IPatternOperation pattern, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9468public IPatternOperation Pattern { get; }
9838internal NegatedPatternOperation(IPatternOperation pattern, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9843public IPatternOperation Pattern { get; }
9889internal BinaryPatternOperation(BinaryOperatorKind operatorKind, IPatternOperation leftPattern, IPatternOperation rightPattern, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9897public IPatternOperation LeftPattern { get; }
9898public IPatternOperation RightPattern { get; }
10357internal ListPatternOperation(ISymbol? lengthSymbol, ISymbol? indexerSymbol, ImmutableArray<IPatternOperation> patterns, ISymbol? declaredSymbol, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
10367public ImmutableArray<IPatternOperation> Patterns { get; }
10418internal SlicePatternOperation(ISymbol? sliceSymbol, IPatternOperation? pattern, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
10425public IPatternOperation? Pattern { get; }
Operations\ControlFlowGraphBuilder.cs (16)
5608var pattern = (IPatternOperation)VisitRequired(patternClause.Pattern);
7436var visitedPattern = (IPatternOperation)VisitRequired(operation.Pattern);
7570return createOperation(this, operation, (IPatternOperation)VisitRequired(operation.LeftPattern));
7584var result = (IPatternOperation)VisitRequired(current.LeftPattern);
7593static BinaryPatternOperation createOperation(ControlFlowGraphBuilder @this, IBinaryPatternOperation operation, IPatternOperation left)
7598rightPattern: (IPatternOperation)@this.VisitRequired(operation.RightPattern),
7610pattern: (IPatternOperation)VisitRequired(operation.Pattern),
7646(IPatternOperation?)Visit(operation.Pattern),
7659operation.Patterns.SelectAsArray((p, @this) => (IPatternOperation)@this.VisitRequired(p), this),
7673operation.DeconstructionSubpatterns.SelectAsArray((p, @this) => (IPatternOperation)@this.VisitRequired(p), this),
7687(IPatternOperation)VisitRequired(operation.Pattern),
7757var visitedPattern = (IPatternOperation)VisitRequired(arm.Pattern);
Microsoft.CodeAnalysis.CodeStyle (2)
Microsoft.CodeAnalysis.CSharp (25)
Operations\CSharpOperationFactory.cs (25)
2556ImmutableArray<IPatternOperation> deconstructionSubpatterns = boundRecursivePattern.Deconstruction is { IsDefault: false } deconstructions
2557? deconstructions.SelectAsArray((p, fac) => (IPatternOperation)fac.Create(p.Pattern), this)
2558: ImmutableArray<IPatternOperation>.Empty;
2577ImmutableArray<IPatternOperation> deconstructionSubpatterns = boundITuplePattern.Subpatterns is { IsDefault: false } subpatterns
2578? subpatterns.SelectAsArray((p, fac) => (IPatternOperation)fac.Create(p.Pattern), this)
2579: ImmutableArray<IPatternOperation>.Empty;
2610pattern: (IPatternOperation?)Create(boundNode.Pattern),
2623patterns: boundNode.Subpatterns.SelectAsArray((p, fac) => (IPatternOperation)fac.Create(p), this),
2635(IPatternOperation)Create(boundNegatedPattern.Negated),
2647return createOperation(this, boundBinaryPattern, left: (IPatternOperation)Create(boundBinaryPattern.Left));
2661var result = (IPatternOperation)Create(current.Left);
2670static BinaryPatternOperation createOperation(CSharpOperationFactory @this, BoundBinaryPattern boundBinaryPattern, IPatternOperation left)
2675(IPatternOperation)@this.Create(boundBinaryPattern.Right),
2732IPatternOperation pattern = (IPatternOperation)Create(boundSwitchExpressionArm.Pattern);
2765IPatternOperation pattern = (IPatternOperation)Create(boundSwitchLabel.Pattern);
2774IPatternOperation pattern = (IPatternOperation)Create(boundIsPatternExpression.Pattern);
2858IPatternOperation pattern = (IPatternOperation)Create(subpattern.Pattern);
2882IPatternOperation nestedPattern = new RecursivePatternOperation(
2883matchedType: previousType, deconstructSymbol: null, deconstructionSubpatterns: ImmutableArray<IPatternOperation>.Empty,
2892IPropertySubpatternOperation createPropertySubpattern(Symbol? symbol, IPatternOperation pattern, ITypeSymbol receiverType, SyntaxNode nameSyntax, bool isSingle)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (3)
Microsoft.CodeAnalysis.CSharp.Features (2)
Microsoft.CodeAnalysis.CSharp.Workspaces (1)
Microsoft.CodeAnalysis.Features (2)
Microsoft.CodeAnalysis.Test.Utilities (3)