1 write to Deconstruction
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
8348this.Deconstruction = deconstruction;
23 references to Deconstruction
Microsoft.CodeAnalysis.CSharp (23)
Binder\DecisionDagBuilder.cs (5)
936if (!recursive.Deconstruction.IsDefault) 947int count = Math.Min(outParamTemps.Count, recursive.Deconstruction.Length); 950BoundPattern pattern = recursive.Deconstruction[i].Pattern; 967int count = Math.Min(elementTypes.Length, recursive.Deconstruction.Length); 971BoundPattern pattern = recursive.Deconstruction[i].Pattern;
Binder\DecisionDagBuilder_CheckOrReachability.cs (2)
996recursivePattern.DeconstructMethod, recursivePattern.Deconstruction, 1112ImmutableArray<BoundPositionalSubpattern> deconstruction = node.Deconstruction;
Binder\UnionMatchingRewriter.cs (1)
112node.DeclaredType, node.DeconstructMethod, node.Deconstruction, node.Properties, node.IsExplicitNotNullTest, 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)
58VisitAndUnsplitAll(node.Deconstruction); 199if (rp.DeconstructMethod is null && !rp.Deconstruction.IsDefault) 202for (int i = 0, n = Math.Min(rp.Deconstruction.Length, elements.IsDefault ? 0 : elements.Length); i < n; i++) 204BoundSubpattern item = rp.Deconstruction[i];
FlowAnalysis\VariablesDeclaredWalker.cs (1)
78foreach (var subpattern in recursivePattern.Deconstruction.NullToEmpty())
Generated\BoundNodes.xml.Generated.cs (6)
8368if (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)) 11000this.VisitList(node.Deconstruction); 12552ImmutableArray<BoundPositionalSubpattern> deconstruction = this.VisitList(node.Deconstruction); 15246ImmutableArray<BoundPositionalSubpattern> deconstruction = this.VisitList(node.Deconstruction); 17492new 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