1 write to Deconstruction
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
8333this.Deconstruction = deconstruction;
24 references to Deconstruction
Microsoft.CodeAnalysis.CSharp (24)
Binder\DecisionDagBuilder_CheckOrReachability.cs (2)
1066recursivePattern.DeconstructMethod, recursivePattern.Deconstruction, 1182ImmutableArray<BoundPositionalSubpattern> deconstruction = node.Deconstruction;
Binder\DecisionDagBuilder.cs (5)
944if (!recursive.Deconstruction.IsDefault) 955int count = Math.Min(outParamTemps.Count, recursive.Deconstruction.Length); 958BoundPattern pattern = recursive.Deconstruction[i].Pattern; 975int count = Math.Min(elementTypes.Length, recursive.Deconstruction.Length); 979BoundPattern pattern = recursive.Deconstruction[i].Pattern;
Binder\UnionMatchingRewriter.cs (2)
123node.Update(node.DeclaredType, node.DeconstructMethod, node.Deconstruction, node.Properties, node.IsExplicitNotNullTest, 126node.DeclaredType, node.DeconstructMethod, node.Deconstruction, node.Properties, node.IsExplicitNotNullTest, unionMatchingMode: UnionMatchingMode.None, node.Variable, node.VariableAccess,
BoundTree\BoundNode_Source.cs (1)
408if (recursivePattern.Deconstruction is { IsDefault: false } deconstruction)
FlowAnalysis\DefiniteAssignment.cs (2)
1986if (!pat.Deconstruction.IsDefaultOrEmpty) 1988foreach (var subpat in pat.Deconstruction)
FlowAnalysis\NullableWalker_Patterns.cs (4)
59VisitAndUnsplitAll(node.Deconstruction); 200if (rp.DeconstructMethod is null && !rp.Deconstruction.IsDefault) 203for (int i = 0, n = Math.Min(rp.Deconstruction.Length, elements.IsDefault ? 0 : elements.Length); i < n; i++) 205BoundSubpattern item = rp.Deconstruction[i];
FlowAnalysis\VariablesDeclaredWalker.cs (1)
78foreach (var subpattern in recursivePattern.Deconstruction.NullToEmpty())
Generated\BoundNodes.xml.Generated.cs (6)
8355if (declaredType != this.DeclaredType || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(deconstructMethod, this.DeconstructMethod) || deconstruction != this.Deconstruction || properties != this.Properties || isExplicitNotNullTest != this.IsExplicitNotNullTest || unionMatchingMode != this.UnionMatchingMode || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(variable, this.Variable) || variableAccess != this.VariableAccess || !TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.NarrowedType, TypeCompareKind.ConsiderEverything)) 10999this.VisitList(node.Deconstruction); 12556ImmutableArray<BoundPositionalSubpattern> deconstruction = this.VisitList(node.Deconstruction); 15257ImmutableArray<BoundPositionalSubpattern> deconstruction = this.VisitList(node.Deconstruction); 17508new TreeDumperNode("deconstruction", null, node.Deconstruction.IsDefault ? Array.Empty<TreeDumperNode>() : from x in node.Deconstruction select Visit(x, null)),
Operations\CSharpOperationFactory.cs (1)
2622ImmutableArray<IPatternOperation> deconstructionSubpatterns = boundRecursivePattern.Deconstruction is { IsDefault: false } deconstructions