1 write to Deconstruction
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
8348
this.
Deconstruction
= deconstruction;
23 references to Deconstruction
Microsoft.CodeAnalysis.CSharp (23)
Binder\DecisionDagBuilder.cs (5)
936
if (!recursive.
Deconstruction
.IsDefault)
947
int count = Math.Min(outParamTemps.Count, recursive.
Deconstruction
.Length);
950
BoundPattern pattern = recursive.
Deconstruction
[i].Pattern;
967
int count = Math.Min(elementTypes.Length, recursive.
Deconstruction
.Length);
971
BoundPattern pattern = recursive.
Deconstruction
[i].Pattern;
Binder\DecisionDagBuilder_CheckOrReachability.cs (2)
996
recursivePattern.DeconstructMethod, recursivePattern.
Deconstruction
,
1112
ImmutableArray<BoundPositionalSubpattern> deconstruction = node.
Deconstruction
;
Binder\UnionMatchingRewriter.cs (1)
112
node.DeclaredType, node.DeconstructMethod, node.
Deconstruction
, node.Properties, node.IsExplicitNotNullTest, node.Variable, node.VariableAccess,
BoundTree\BoundNode_Source.cs (1)
408
if (recursivePattern.
Deconstruction
is { IsDefault: false } deconstruction)
FlowAnalysis\DefiniteAssignment.cs (2)
1986
if (!pat.
Deconstruction
.IsDefaultOrEmpty)
1988
foreach (var subpat in pat.
Deconstruction
)
FlowAnalysis\NullableWalker_Patterns.cs (4)
58
VisitAndUnsplitAll(node.
Deconstruction
);
199
if (rp.DeconstructMethod is null && !rp.
Deconstruction
.IsDefault)
202
for (int i = 0, n = Math.Min(rp.
Deconstruction
.Length, elements.IsDefault ? 0 : elements.Length); i < n; i++)
204
BoundSubpattern item = rp.
Deconstruction
[i];
FlowAnalysis\VariablesDeclaredWalker.cs (1)
78
foreach (var subpattern in recursivePattern.
Deconstruction
.NullToEmpty())
Generated\BoundNodes.xml.Generated.cs (6)
8368
if (declaredType != this.DeclaredType || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(deconstructMethod, this.DeconstructMethod) || deconstruction != this.
Deconstruction
|| properties != this.Properties || isExplicitNotNullTest != this.IsExplicitNotNullTest || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(variable, this.Variable) || variableAccess != this.VariableAccess || isUnionMatching != this.IsUnionMatching || !TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.NarrowedType, TypeCompareKind.ConsiderEverything))
11000
this.VisitList(node.
Deconstruction
);
12552
ImmutableArray<BoundPositionalSubpattern> deconstruction = this.VisitList(node.
Deconstruction
);
15246
ImmutableArray<BoundPositionalSubpattern> deconstruction = this.VisitList(node.
Deconstruction
);
17492
new TreeDumperNode("deconstruction", null, node.
Deconstruction
.IsDefault ? Array.Empty<TreeDumperNode>() : from x in node.
Deconstruction
select Visit(x, null)),
Operations\CSharpOperationFactory.cs (1)
2622
ImmutableArray<IPatternOperation> deconstructionSubpatterns = boundRecursivePattern.
Deconstruction
is { IsDefault: false } deconstructions