3 instantiations of BoundPropertySubpattern
Microsoft.CodeAnalysis.CSharp (3)
Binder\Binder_Patterns.cs (1)
1781
var subpattern = new
BoundPropertySubpattern
(p, member, isLengthOrCount, boundPattern);
Binder\UnionMatchingRewriter.cs (1)
466
properties: [new
BoundPropertySubpattern
(syntax, valueProperty, isLengthOrCount: false,
Generated\BoundNodes.xml.Generated.cs (1)
8556
var result = new
BoundPropertySubpattern
(this.Syntax, member, isLengthOrCount, pattern, this.HasErrors);
35 references to BoundPropertySubpattern
Microsoft.CodeAnalysis.CSharp (35)
Binder\Binder_Patterns.cs (4)
1246
ImmutableArray<
BoundPropertySubpattern
> properties = default;
1722
private ImmutableArray<
BoundPropertySubpattern
> BindPropertyPatternClause(
1730
var builder = ArrayBuilder<
BoundPropertySubpattern
>.GetInstance(node.Subpatterns.Count);
1781
var
subpattern = new BoundPropertySubpattern(p, member, isLengthOrCount, boundPattern);
Binder\DecisionDagBuilder_CheckOrReachability.cs (5)
1176
ImmutableArray<
BoundPropertySubpattern
>.Empty, isExplicitNotNullTest: false, unionMatchingMode: UnionMatchingMode.None, variable: null, variableAccess: null, node.InputType, node.InputType);
1223
BoundPropertySubpattern
? property = null;
1231
ImmutableArray<
BoundPropertySubpattern
> newSubPatterns = [property.WithPattern(newPattern)];
1247
foreach (
BoundPropertySubpattern
subPattern in node.Properties)
1283
public override BoundNode? VisitPropertySubpattern(
BoundPropertySubpattern
node)
Binder\DecisionDagBuilder.cs (3)
1001
foreach (
var
subpattern in recursive.Properties)
1044
bool tryMakeTestsForSubpatternMemberReceiver(
BoundPropertySubpattern
subpattern, BoundPropertySubpatternMember member, ref BoundDagTemp input)
1063
bool tryMakeTestsForSubpatternMember(
BoundPropertySubpattern
subpattern, [NotNullWhen(true)] BoundPropertySubpatternMember? member, ref BoundDagTemp input, bool isLengthOrCount)
Binder\RefSafetyAnalysis.cs (1)
732
public override BoundNode? VisitPropertySubpattern(
BoundPropertySubpattern
node)
Binder\UnionMatchingRewriter.cs (1)
222
public override BoundNode? VisitPropertySubpattern(
BoundPropertySubpattern
node)
BoundTree\BoundNode_Source.cs (1)
425
BoundPropertySubpattern
property = properties[i];
BoundTree\BoundPropertySubpattern.cs (1)
9
internal
BoundPropertySubpattern
WithPattern(BoundPattern pattern)
Compilation\CSharpSemanticModel.cs (1)
1911
case
BoundPropertySubpattern
subpattern:
FlowAnalysis\DefiniteAssignment.cs (1)
1995
foreach (
BoundPropertySubpattern
sub in pat.Properties)
FlowAnalysis\NullableWalker_Patterns.cs (2)
50
public override BoundNode VisitPropertySubpattern(
BoundPropertySubpattern
node)
214
foreach (
BoundPropertySubpattern
subpattern in rp.Properties)
FlowAnalysis\VariablesDeclaredWalker.cs (1)
81
foreach (
var
subpattern in recursivePattern.Properties.NullToEmpty())
Generated\BoundNodes.xml.Generated.cs (13)
8324
public BoundRecursivePattern(SyntaxNode syntax, BoundTypeExpression? declaredType, MethodSymbol? deconstructMethod, ImmutableArray<BoundPositionalSubpattern> deconstruction, ImmutableArray<
BoundPropertySubpattern
> properties, bool isExplicitNotNullTest, UnionMatchingMode unionMatchingMode, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8346
public ImmutableArray<
BoundPropertySubpattern
> Properties { get; }
8353
public BoundRecursivePattern Update(BoundTypeExpression? declaredType, MethodSymbol? deconstructMethod, ImmutableArray<BoundPositionalSubpattern> deconstruction, ImmutableArray<
BoundPropertySubpattern
> properties, bool isExplicitNotNullTest, UnionMatchingMode unionMatchingMode, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType)
8552
public
BoundPropertySubpattern
Update(BoundPropertySubpatternMember? member, bool isLengthOrCount, BoundPattern pattern)
8556
var
result = new BoundPropertySubpattern(this.Syntax, member, isLengthOrCount, pattern, this.HasErrors);
9523
return VisitPropertySubpattern((
BoundPropertySubpattern
)node, arg);
9783
public virtual R VisitPropertySubpattern(
BoundPropertySubpattern
node, A arg) => this.DefaultVisit(node, arg);
10024
public virtual BoundNode? VisitPropertySubpattern(
BoundPropertySubpattern
node) => this.DefaultVisit(node);
11025
public override BoundNode? VisitPropertySubpattern(
BoundPropertySubpattern
node)
12557
ImmutableArray<
BoundPropertySubpattern
> properties = this.VisitList(node.Properties);
12601
public override BoundNode? VisitPropertySubpattern(
BoundPropertySubpattern
node)
15258
ImmutableArray<
BoundPropertySubpattern
> properties = this.VisitList(node.Properties);
17562
public override TreeDumperNode VisitPropertySubpattern(
BoundPropertySubpattern
node, object? arg) => new TreeDumperNode("propertySubpattern", null, new TreeDumperNode[]
Operations\CSharpOperationFactory.cs (1)
2918
internal IPropertySubpatternOperation CreatePropertySubpattern(
BoundPropertySubpattern
subpattern, ITypeSymbol matchedType)