3 instantiations of BoundPropertySubpattern
Microsoft.CodeAnalysis.CSharp (3)
Binder\Binder_Patterns.cs (1)
2176var subpattern = new BoundPropertySubpattern(p, member, isLengthOrCount, boundPattern);
Binder\UnionMatchingRewriter.cs (1)
446properties: [new BoundPropertySubpattern(valuePattern.Syntax, valueProperty, isLengthOrCount: false, valuePattern).MakeCompilerGenerated()],
Generated\BoundNodes.xml.Generated.cs (1)
8571var result = new BoundPropertySubpattern(this.Syntax, member, isLengthOrCount, pattern, this.HasErrors);
35 references to BoundPropertySubpattern
Microsoft.CodeAnalysis.CSharp (35)
Binder\Binder_Patterns.cs (4)
1644ImmutableArray<BoundPropertySubpattern> properties = default; 2118private ImmutableArray<BoundPropertySubpattern> BindPropertyPatternClause( 2126var builder = ArrayBuilder<BoundPropertySubpattern>.GetInstance(node.Subpatterns.Count); 2176var subpattern = new BoundPropertySubpattern(p, member, isLengthOrCount, boundPattern);
Binder\DecisionDagBuilder.cs (3)
993foreach (var subpattern in recursive.Properties) 1036bool tryMakeTestsForSubpatternMemberReceiver(BoundPropertySubpattern subpattern, BoundPropertySubpatternMember member, ref BoundDagTemp input) 1055bool tryMakeTestsForSubpatternMember(BoundPropertySubpattern subpattern, [NotNullWhen(true)] BoundPropertySubpatternMember? member, ref BoundDagTemp input, bool isLengthOrCount)
Binder\DecisionDagBuilder_CheckOrReachability.cs (5)
1106ImmutableArray<BoundPropertySubpattern>.Empty, isExplicitNotNullTest: false, variable: null, variableAccess: null, isUnionMatching: false, node.InputType, node.InputType); 1153BoundPropertySubpattern? property = null; 1161ImmutableArray<BoundPropertySubpattern> newSubPatterns = [property.WithPattern(newPattern)]; 1177foreach (BoundPropertySubpattern subPattern in node.Properties) 1213public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node)
Binder\RefSafetyAnalysis.cs (1)
712public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node)
Binder\UnionMatchingRewriter.cs (1)
221public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node)
BoundTree\BoundNode_Source.cs (1)
425BoundPropertySubpattern property = properties[i];
BoundTree\BoundPropertySubpattern.cs (1)
9internal BoundPropertySubpattern WithPattern(BoundPattern pattern)
Compilation\CSharpSemanticModel.cs (1)
1911case BoundPropertySubpattern subpattern:
FlowAnalysis\DefiniteAssignment.cs (1)
1995foreach (BoundPropertySubpattern sub in pat.Properties)
FlowAnalysis\NullableWalker_Patterns.cs (2)
49public override BoundNode VisitPropertySubpattern(BoundPropertySubpattern node) 213foreach (BoundPropertySubpattern subpattern in rp.Properties)
FlowAnalysis\VariablesDeclaredWalker.cs (1)
81foreach (var subpattern in recursivePattern.Properties.NullToEmpty())
Generated\BoundNodes.xml.Generated.cs (13)
8339public BoundRecursivePattern(SyntaxNode syntax, BoundTypeExpression? declaredType, MethodSymbol? deconstructMethod, ImmutableArray<BoundPositionalSubpattern> deconstruction, ImmutableArray<BoundPropertySubpattern> properties, bool isExplicitNotNullTest, Symbol? variable, BoundExpression? variableAccess, bool isUnionMatching, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8360public ImmutableArray<BoundPropertySubpattern> Properties { get; } 8366public BoundRecursivePattern Update(BoundTypeExpression? declaredType, MethodSymbol? deconstructMethod, ImmutableArray<BoundPositionalSubpattern> deconstruction, ImmutableArray<BoundPropertySubpattern> properties, bool isExplicitNotNullTest, Symbol? variable, BoundExpression? variableAccess, bool isUnionMatching, TypeSymbol inputType, TypeSymbol narrowedType) 8567public BoundPropertySubpattern Update(BoundPropertySubpatternMember? member, bool isLengthOrCount, BoundPattern pattern) 8571var result = new BoundPropertySubpattern(this.Syntax, member, isLengthOrCount, pattern, this.HasErrors); 9538return VisitPropertySubpattern((BoundPropertySubpattern)node, arg); 9798public virtual R VisitPropertySubpattern(BoundPropertySubpattern node, A arg) => this.DefaultVisit(node, arg); 10039public virtual BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) => this.DefaultVisit(node); 11026public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 12553ImmutableArray<BoundPropertySubpattern> properties = this.VisitList(node.Properties); 12597public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 15247ImmutableArray<BoundPropertySubpattern> properties = this.VisitList(node.Properties); 17548public override TreeDumperNode VisitPropertySubpattern(BoundPropertySubpattern node, object? arg) => new TreeDumperNode("propertySubpattern", null, new TreeDumperNode[]
Operations\CSharpOperationFactory.cs (1)
2918internal IPropertySubpatternOperation CreatePropertySubpattern(BoundPropertySubpattern subpattern, ITypeSymbol matchedType)