1 write to Deconstruction
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
8348
this.
Deconstruction
= deconstruction;
25 references to Deconstruction
Microsoft.CodeAnalysis.CSharp (25)
Binder\DecisionDagBuilder.cs (5)
933
if (!recursive.
Deconstruction
.IsDefault)
944
int count = Math.Min(outParamTemps.Count, recursive.
Deconstruction
.Length);
947
BoundPattern pattern = recursive.
Deconstruction
[i].Pattern;
964
int count = Math.Min(elementTypes.Length, recursive.
Deconstruction
.Length);
968
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)
114
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\AbstractFlowPass.cs (2)
951
Deconstruction
: { IsDefault: true },
975
rewritten.DeclaredType, rewritten.DeconstructMethod, rewritten.
Deconstruction
,
FlowAnalysis\DefiniteAssignment.cs (2)
1986
if (!pat.
Deconstruction
.IsDefaultOrEmpty)
1988
foreach (var subpat in pat.
Deconstruction
)
FlowAnalysis\NullableWalker_Patterns.cs (4)
57
VisitAndUnsplitAll(node.
Deconstruction
);
196
if (rp.DeconstructMethod is null && !rp.
Deconstruction
.IsDefault)
199
for (int i = 0, n = Math.Min(rp.
Deconstruction
.Length, elements.IsDefault ? 0 : elements.Length); i < n; i++)
201
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))
11002
this.VisitList(node.
Deconstruction
);
12554
ImmutableArray<BoundPositionalSubpattern> deconstruction = this.VisitList(node.
Deconstruction
);
15248
ImmutableArray<BoundPositionalSubpattern> deconstruction = this.VisitList(node.
Deconstruction
);
17494
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