10 interfaces inheriting from IPatternOperation
Microsoft.CodeAnalysis (10)
1 implementation of IPatternOperation
Microsoft.CodeAnalysis (1)
89 references to IPatternOperation
GenerateDocumentationAndConfigFiles (1)
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; }
7233internal IsPatternOperation(IOperation value, IPatternOperation pattern, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit)
7241public IPatternOperation Pattern { get; }
8190internal PatternCaseClauseOperation(ILabelSymbol label, IPatternOperation pattern, IOperation? guard, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
8197public IPatternOperation Pattern { get; }
9267internal RecursivePatternOperation(ITypeSymbol matchedType, ISymbol? deconstructSymbol, ImmutableArray<IPatternOperation> deconstructionSubpatterns, ImmutableArray<IPropertySubpatternOperation> propertySubpatterns, ISymbol? declaredSymbol, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9278public ImmutableArray<IPatternOperation> DeconstructionSubpatterns { get; }
9426internal SwitchExpressionArmOperation(IPatternOperation pattern, IOperation? guard, IOperation value, ImmutableArray<ILocalSymbol> locals, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9434public IPatternOperation Pattern { get; }
9501internal PropertySubpatternOperation(IOperation member, IPatternOperation pattern, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9508public IPatternOperation Pattern { get; }
9878internal NegatedPatternOperation(IPatternOperation pattern, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9883public IPatternOperation Pattern { get; }
9929internal BinaryPatternOperation(BinaryOperatorKind operatorKind, IPatternOperation leftPattern, IPatternOperation rightPattern, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
9937public IPatternOperation LeftPattern { get; }
9938public IPatternOperation RightPattern { get; }
10397internal ListPatternOperation(ISymbol? lengthSymbol, ISymbol? indexerSymbol, ImmutableArray<IPatternOperation> patterns, ISymbol? declaredSymbol, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
10407public ImmutableArray<IPatternOperation> Patterns { get; }
10458internal SlicePatternOperation(ISymbol? sliceSymbol, IPatternOperation? pattern, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
10465public IPatternOperation? Pattern { get; }
Operations\ControlFlowGraphBuilder.cs (16)
5619var pattern = (IPatternOperation)VisitRequired(patternClause.Pattern);
7478var visitedPattern = (IPatternOperation)VisitRequired(operation.Pattern);
7612return createOperation(this, operation, (IPatternOperation)VisitRequired(operation.LeftPattern));
7626var result = (IPatternOperation)VisitRequired(current.LeftPattern);
7635static BinaryPatternOperation createOperation(ControlFlowGraphBuilder @this, IBinaryPatternOperation operation, IPatternOperation left)
7640rightPattern: (IPatternOperation)@this.VisitRequired(operation.RightPattern),
7652pattern: (IPatternOperation)VisitRequired(operation.Pattern),
7688(IPatternOperation?)Visit(operation.Pattern),
7701operation.Patterns.SelectAsArray((p, @this) => (IPatternOperation)@this.VisitRequired(p), this),
7715operation.DeconstructionSubpatterns.SelectAsArray((p, @this) => (IPatternOperation)@this.VisitRequired(p), this),
7729(IPatternOperation)VisitRequired(operation.Pattern),
7799var visitedPattern = (IPatternOperation)VisitRequired(arm.Pattern);
Microsoft.CodeAnalysis.Analyzers (1)
Microsoft.CodeAnalysis.AnalyzerUtilities (2)
Microsoft.CodeAnalysis.CodeStyle (2)
Microsoft.CodeAnalysis.CSharp (25)
Operations\CSharpOperationFactory.cs (25)
2622ImmutableArray<IPatternOperation> deconstructionSubpatterns = boundRecursivePattern.Deconstruction is { IsDefault: false } deconstructions
2623? deconstructions.SelectAsArray((p, fac) => (IPatternOperation)fac.Create(p.Pattern), this)
2624: ImmutableArray<IPatternOperation>.Empty;
2643ImmutableArray<IPatternOperation> deconstructionSubpatterns = boundITuplePattern.Subpatterns is { IsDefault: false } subpatterns
2644? subpatterns.SelectAsArray((p, fac) => (IPatternOperation)fac.Create(p.Pattern), this)
2645: ImmutableArray<IPatternOperation>.Empty;
2676pattern: (IPatternOperation?)Create(boundNode.Pattern),
2689patterns: boundNode.Subpatterns.SelectAsArray((p, fac) => (IPatternOperation)fac.Create(p), this),
2701(IPatternOperation)Create(boundNegatedPattern.Negated),
2713return createOperation(this, boundBinaryPattern, left: (IPatternOperation)Create(boundBinaryPattern.Left));
2727var result = (IPatternOperation)Create(current.Left);
2736static BinaryPatternOperation createOperation(CSharpOperationFactory @this, BoundBinaryPattern boundBinaryPattern, IPatternOperation left)
2741(IPatternOperation)@this.Create(boundBinaryPattern.Right),
2798IPatternOperation pattern = (IPatternOperation)Create(boundSwitchExpressionArm.Pattern);
2831IPatternOperation pattern = (IPatternOperation)Create(boundSwitchLabel.Pattern);
2840IPatternOperation pattern = (IPatternOperation)Create(boundIsPatternExpression.Pattern);
2924IPatternOperation pattern = (IPatternOperation)Create(subpattern.Pattern);
2948IPatternOperation nestedPattern = new RecursivePatternOperation(
2949matchedType: previousType, deconstructSymbol: null, deconstructionSubpatterns: ImmutableArray<IPatternOperation>.Empty,
2958IPropertySubpatternOperation 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.ResxSourceGenerator (1)
Roslyn.Diagnostics.Analyzers (1)
Roslyn.Diagnostics.CSharp.Analyzers (1)