10 types derived from BoundPattern
Microsoft.CodeAnalysis.CSharp (10)
Generated\BoundNodes.xml.Generated.cs (10)
8142internal sealed partial class BoundConstantPattern : BoundPattern 8181internal sealed partial class BoundPatternWithUnionMatching : BoundPattern 8227internal sealed partial class BoundDiscardPattern : BoundPattern 8267internal abstract partial class BoundObjectPattern : BoundPattern 8409internal sealed partial class BoundSlicePattern : BoundPattern 8448internal sealed partial class BoundITuplePattern : BoundPattern 8596internal sealed partial class BoundTypePattern : BoundPattern 8634internal sealed partial class BoundBinaryPattern : BoundPattern 8673internal sealed partial class BoundNegatedPattern : BoundPattern 8707internal sealed partial class BoundRelationalPattern : BoundPattern
297 references to BoundPattern
Microsoft.CodeAnalysis.CSharp (297)
Binder\Binder_Patterns.cs (34)
79BoundPattern pattern = BindPattern(node.Pattern, ref unionType, expression.Type, ref permitDesignations, hasErrors, diagnostics, out bool hasUnionMatching, underIsPattern: true); 89BoundPattern pattern, 95bool negated = pattern.IsNegated(out var innerPattern); 217internal BoundPattern BindPattern( 246private BoundPattern BindParenthesizedPattern( 260private BoundPattern BindSlicePattern( 276BoundPattern? pattern = null; 323private ImmutableArray<BoundPattern> BindListPatternSubpatterns( 335var builder = ArrayBuilder<BoundPattern>.GetInstance(subpatterns.Count); 338BoundPattern boundPattern; 398ImmutableArray<BoundPattern> subpatterns = BindListPatternSubpatterns( 471private static BoundPattern BindDiscardPattern(DiscardPatternSyntax node, TypeSymbol inputType, BindingDiagnosticBag diagnostics) 477private BoundPattern BindConstantPatternWithFallbackToTypePattern( 489internal BoundPattern BindConstantPatternWithFallbackToTypePattern( 1024private BoundPattern BindDeclarationPattern( 1147private BoundPattern BindRecursivePattern( 1548private BoundPattern BindVarPattern( 1575private BoundPattern BindVarDesignation( 1615BoundPattern bindParenthesizedVariableDesignation(VariableDesignationSyntax node, ref NamedTypeSymbol? unionType, TypeSymbol inputType, bool permitDesignations, bool hasErrors, BindingDiagnosticBag diagnostics) 1671BoundPattern pattern = BindVarDesignation(variable, ref varUnionType, elementType, permitDesignations, isError, diagnostics); 1696BoundPattern pattern = BindVarDesignation(variable, ref unionType, elementType, permitDesignations, isError, diagnostics); 1711BoundPattern pattern = BindVarDesignation(variable, ref unionType, objectType, permitDesignations, hasErrors: false, diagnostics); 1779BoundPattern boundPattern = BindPattern(pattern, ref unionType, memberType, ref clausePermitDesignations, hasErrors, diagnostics, out bool patternHasUnionMatching, underIsPattern: false); 1908private BoundPattern BindTypePattern( 2043private BoundPattern BindRelationalPattern( 2153private BoundPattern BindUnaryPattern( 2166var subPattern = BindPattern(node.Pattern, ref currentUnionType, inputType, ref permitDesignations, hasErrors, diagnostics, out hasUnionMatching, underIsPattern); 2171private BoundPattern BindBinaryPattern( 2198BoundPattern result = BindPattern(binaryPatternAndPermitDesignations.pat.Left, ref unionType, inputType, ref currentPermitDesignations, hasErrors, diagnostics, out hasUnionMatching, underIsPattern: false); 2246BoundPattern preboundLeft, 2266var right = binder.BindPattern(node.Right, ref rightUnionType, inputType, ref permitDesignations, hasErrors, diagnostics, out bool rightHasUnionMatching, underIsPattern: false); 2285var right = binder.BindPattern(node.Right, ref unionType, preboundLeft.NarrowedType, ref permitDesignations, hasErrors, diagnostics, out bool rightHasUnionMatching, underIsPattern: false); 2349internal static void CollectDisjunctionTypes(BoundPattern pat, ArrayBuilder<TypeSymbol> candidates, bool hasUnionMatching) 2372static void adjustForUnionMatching(BoundPattern pat, ref TypeSymbol candidate)
Binder\DecisionDagBuilder_CheckOrReachability.cs (70)
65BoundPattern pattern, 410BoundPattern pattern, 427var normalizedPattern = PatternNormalizer.Rewrite(pattern, rootIdentifier.Type); 441var normalizedNegatedPattern = PatternNormalizer.Rewrite(negated, rootIdentifier.Type); 462static void populateStateForCases(ArrayBuilder<BoundPattern> set, PooledHashSet<LabelSymbol> labelsToIgnore, 473foreach (BoundPattern pattern in set) 491static void analyze(BoundPattern pattern, ref readonly ReachabilityAnalysisContext context) 495var currentCases = ArrayBuilder<BoundPattern>.GetInstance(); 504static void analyzePattern(ArrayBuilder<BoundPattern> currentCases, BoundPattern pattern, Func<BoundPattern, BoundPattern>? wrapIntoParentAndPattern, ref readonly ReachabilityAnalysisContext context) 512static void analyzeBinary(ArrayBuilder<BoundPattern> currentCases, BoundBinaryPattern binaryPattern, Func<BoundPattern, BoundPattern>? wrapIntoParentAndPattern, ref readonly ReachabilityAnalysisContext context) 518var patterns = ArrayBuilder<BoundPattern>.GetInstance(); 526BoundPattern pattern = patterns[i]; 528BoundPattern wrappedPattern = wrapIntoParentAndPattern?.Invoke(pattern) ?? pattern; 554Func<BoundPattern, BoundPattern> newWrapIntoParentAndPattern = (BoundPattern newPattern) => 559var result = wrapIntoParentAndPattern?.Invoke(wrappedPattern) ?? wrappedPattern; 583static void checkReachability(ArrayBuilder<BoundPattern> orCases, ref readonly ReachabilityAnalysisContext context) 618static void addPatternsFromOrTree(BoundPattern pattern, ArrayBuilder<BoundPattern> builder) 698private Func<BoundPattern, BoundPattern>? _makeEvaluationSequenceOperand; 718private readonly BoundPattern? _operand; 729private OperandOrOperation(BoundPattern? operand, bool? disjunction, SyntaxNode? operationSyntax) 741public static OperandOrOperation CreateOperand(BoundPattern operand) 746public bool IsOperand([NotNullWhen(true)] out BoundPattern? operand) 785internal static BoundPattern Rewrite(BoundPattern pattern, TypeSymbol inputType) 797private BoundPattern GetResult(TypeSymbol inputType) 801var stack = ArrayBuilder<BoundPattern>.GetInstance(); 810var right = stack.Pop(); 811var left = stack.Pop(); 815else if (operandOrOperation.IsOperand(out BoundPattern? operand)) 840var result = stack.Single(); 845static TypeSymbol narrowedTypeForBinary(BoundPattern resultLeft, BoundPattern resultRight, bool resultDisjunction) 868Debug.Assert(node is not BoundPattern { UnionMatchingMode: not UnionMatchingMode.None }); 967private void TryPushOperand(BoundPattern pattern) 998public BoundPattern NegateIfNeeded(BoundPattern node) 1049private static BoundPattern WithInputTypeCheckIfNeeded(BoundPattern pattern, TypeSymbol inputType) 1106BoundPattern typePattern = new BoundTypePattern(pattern.Syntax, 1158BoundPattern initialCheck; 1191_makeEvaluationSequenceOperand = (BoundPattern newPattern) => 1198BoundPattern newRecursive = new BoundRecursivePattern( 1226_makeEvaluationSequenceOperand = (BoundPattern newPattern) => 1233BoundPattern newRecursive = new BoundRecursivePattern( 1266private void VisitPatternAndCombine(SyntaxNode syntax, BoundPattern pattern, int startOfLeft) 1314_makeEvaluationSequenceOperand = (BoundPattern newPattern) => 1321BoundPattern newITuple = new BoundITuplePattern(newPattern.Syntax, ituplePattern.GetLengthMethod, 1365ImmutableArray<BoundPattern> equivalentDefaultPatterns = listPattern.Subpatterns.SelectAsArray(makeEquivalentDefaultPattern); 1377Func<BoundPattern, BoundPattern> makeListPattern = (BoundPattern newPattern) => 1382ImmutableArray<BoundPattern> newSubpatterns = equivalentDefaultPatterns.SetItem(i, newPattern); 1384BoundPattern newList = new BoundListPattern( 1398Func<BoundPattern, BoundPattern>? makeListPatternWithSlice = null; 1401makeListPatternWithSlice = (BoundPattern newPattern) => 1410BoundPattern newSlice = new BoundSlicePattern(newPattern.Syntax, newPattern, slice.IndexerAccess, 1413ImmutableArray<BoundPattern> newSubpatterns = equivalentDefaultPatterns.SetItem(i, newSlice); 1415BoundPattern newList = new BoundListPattern( 1460static BoundPattern makeEquivalentDefaultPattern(BoundPattern pattern)
Binder\DecisionDagBuilder_ListPatterns.cs (2)
54foreach (BoundPattern subpattern in subpatterns) 61if (slice.Pattern is BoundPattern slicePattern)
Binder\DecisionDagBuilder.cs (9)
117BoundPattern pattern, 131BoundPattern pattern, 191BoundPattern pattern, 207BoundPattern pattern, 332BoundPattern pattern, 368BoundPattern pattern, 958BoundPattern pattern = recursive.Deconstruction[i].Pattern; 979BoundPattern pattern = recursive.Deconstruction[i].Pattern; 1004BoundPattern pattern = subpattern.Pattern;
Binder\SwitchBinder_Patterns.cs (3)
252BoundPattern pattern = sectionBinder.BindConstantPatternWithFallbackToTypePattern( 286BoundPattern pattern = sectionBinder.BindPattern( 300void reportIfConstantNamedUnderscore(BoundPattern pattern, ExpressionSyntax expression)
Binder\SwitchExpressionArmBinder.cs (1)
44BoundPattern pattern = armBinder.BindPattern(node.Pattern, ref unionType, switchGoverningType, ref permitDesignations, hasErrors, diagnostics, out bool hasUnionMatching, underIsPattern: false);
Binder\UnionMatchingRewriter.cs (41)
20/// <see cref="RewritePatternWithUnionMatchingToPropertyPattern(BoundPattern)"/> helper at that point. 41public static BoundPattern Rewrite(CSharpCompilation compilation, BoundPattern pattern) 45return RewritePatternWithUnionMatchingToPropertyPattern((BoundPattern)result); 55private static BoundPatternWithUnionMatching CreatePatternWithUnionMatching(NamedTypeSymbol unionMatchingInputType, BoundPattern exclusiveValuePattern) 60private static BoundPatternWithUnionMatching CreatePatternWithUnionMatching(NamedTypeSymbol unionMatchingInputType, BoundPattern? exclusiveInstancePattern, BoundPattern exclusiveValuePattern) 136ImmutableArray<BoundPattern> subpatterns = this.VisitList(node.Subpatterns).SelectAsArray(RewritePatternWithUnionMatchingToPropertyPattern); 200BoundPattern negated = RewritePatternWithUnionMatchingToPropertyPattern((BoundPattern)this.Visit(node.Negated)); 206BoundPattern? pattern = RewritePatternWithUnionMatchingToPropertyPattern((BoundPattern)this.Visit(node.Pattern)); 218BoundPattern pattern = RewritePatternWithUnionMatchingToPropertyPattern((BoundPattern)this.Visit(node.Pattern)); 225BoundPattern pattern = RewritePatternWithUnionMatchingToPropertyPattern((BoundPattern)this.Visit(node.Pattern)); 243BoundPattern result = (BoundPattern)Visit(binaryPattern.Left); 275static BoundPattern rewriteBinaryPattern( 277BoundPattern preboundLeft, 287var right = RewritePatternWithUnionMatchingToPropertyPattern((BoundPattern)rewriter.Visit(node.Right)); 308var right = (BoundPattern)rewriter.Visit(node.Right); 310BoundPattern result = makeConjunction(node.Syntax, preboundLeft, right, makeCompilerGenerated: node.WasCompilerGenerated); 325static BoundPattern makeConjunction(SyntaxNode node, BoundPattern left, BoundPattern? right, bool makeCompilerGenerated) 353var leftOfPendingConjunction = makeConjunction(node, left, rightUnionPattern.LeftOfPendingConjunction, makeCompilerGenerated: true); 420private static BoundPattern MakeBinaryAnd(SyntaxNode node, BoundPattern? left, BoundPattern? right, bool makeCompilerGenerated) 437private static BoundPattern RewritePatternWithUnionMatchingToPropertyPattern(BoundPattern pattern) 453BoundPattern? leftOfPendingConjunction = unionPattern.LeftOfPendingConjunction; 454BoundPattern? exclusiveInstancePattern = unionPattern.ExclusiveInstancePattern; 455BoundPattern exclusiveValuePattern = unionPattern.ExclusiveValuePattern; 456BoundPattern? sharedRightOfPendingConjunction = unionPattern.SharedRightOfPendingConjunction; 461BoundPattern unionValueMatching = new BoundRecursivePattern( 475BoundPattern result; 481BoundPattern? instancePattern = MakeBinaryAnd(syntax, exclusiveInstancePattern, sharedRightOfPendingConjunction, makeCompilerGenerated: true);
BoundTree\BoundIsPatternExpression.cs (1)
16bool negated = this.Pattern.IsNegated(out var innerPattern);
BoundTree\BoundListPattern.cs (1)
14internal BoundListPattern WithSubpatterns(ImmutableArray<BoundPattern> subpatterns)
BoundTree\BoundPattern.cs (1)
17internal bool IsNegated(out BoundPattern innerPattern)
BoundTree\BoundPatternWithUnionMatching.cs (7)
43public BoundPatternWithUnionMatching(SyntaxNode syntax, TypeSymbol unionType, BoundPattern? exclusiveInstancePattern, BoundPropertySubpatternMember valueProperty, BoundPattern exclusiveValuePattern, BoundPattern? sharedRightOfPendingConjunction, TypeSymbol inputType) 54public BoundPatternWithUnionMatching(SyntaxNode syntax, TypeSymbol unionType, BoundPattern? leftOfPendingConjunction, BoundPattern? exclusiveInstancePattern, BoundPropertySubpatternMember valueProperty, BoundPattern exclusiveValuePattern, BoundPattern? sharedRightOfPendingConjunction, TypeSymbol inputType)
BoundTree\BoundPositionalSubpattern.cs (1)
9internal BoundPositionalSubpattern WithPattern(BoundPattern pattern)
BoundTree\BoundPropertySubpattern.cs (1)
9internal BoundPropertySubpattern WithPattern(BoundPattern pattern)
BoundTree\BoundSlicePattern.cs (1)
11internal BoundSlicePattern WithPattern(BoundPattern? pattern)
BoundTree\BoundTreeRewriter.cs (6)
218if (node is BoundExpression or BoundPattern) 342BoundPattern child = node.Left; 367var left = (BoundPattern?)this.Visit(child); 373var right = (BoundPattern?)this.Visit(binary.Right);
BoundTree\BoundTreeVisitors.cs (1)
202Debug.Assert(node is BoundExpression or BoundPattern);
BoundTree\BoundTreeWalker.cs (4)
73if (node is BoundExpression or BoundPattern) 88Debug.Assert(node is BoundExpression or BoundPattern); 152var rightOperands = ArrayBuilder<BoundPattern>.GetInstance(); 157BoundPattern? current = binary.Left;
BoundTree\NullabilityRewriter.cs (4)
153var leftChild = (BoundPattern)Visit(stack.Peek().Left); 162var right = (BoundPattern)Visit(currentBinary.Right);
Compilation\CSharpSemanticModel.cs (3)
2034BoundPattern pattern = lowestBoundNode as BoundPattern ?? highestBoundNode as BoundPattern ?? (highestBoundNode is BoundSubpattern sp ? sp.Pattern : null);
Compilation\MemberSemanticModel.NodeMapBuilder.cs (2)
225var stack = ArrayBuilder<BoundPattern>.GetInstance(); 228BoundPattern currentPattern = binaryPattern.Left;
FlowAnalysis\AbstractFlowPass.cs (5)
363if (node is BoundExpression or BoundPattern) 931bool negated = node.Pattern.IsNegated(out var pattern); 980static bool patternMatchesNull(BoundPattern pattern) 1030static bool? isBoolTest(BoundPattern pattern) 1103public virtual void VisitPattern(BoundPattern pattern)
FlowAnalysis\DefiniteAssignment.cs (3)
1944public override void VisitPattern(BoundPattern pattern) 1954void assignPatternVariablesAndMarkReadFields(BoundPattern pattern, bool definitely = true) 2029foreach (BoundPattern p in pat.Subpatterns)
FlowAnalysis\NullableWalker_Patterns.cs (2)
28BoundPattern pattern) 158BoundPattern pattern)
FlowAnalysis\NullableWalker.cs (1)
3767Debug.Assert(node is BoundExpression or BoundPattern);
FlowAnalysis\NullableWalker.DebugVerifier.cs (2)
99if (node is BoundExpression or BoundPattern) 382node.Subpatterns.Any(static (BoundPattern p) => p.Kind != BoundKind.SlicePattern))
FlowAnalysis\VariablesDeclaredWalker.cs (3)
50public override void VisitPattern(BoundPattern pattern) 69private void NoteDeclaredPatternVariables(BoundPattern pattern) 94foreach (var elementPattern in listPattern.Subpatterns)
Generated\BoundNodes.xml.Generated.cs (88)
4942public BoundSwitchExpressionArm(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundPattern pattern, bool hasUnionMatching, BoundExpression? whenClause, BoundExpression value, LabelSymbol label, bool hasErrors = false) 4960public BoundPattern Pattern { get; } 4969public BoundSwitchExpressionArm Update(ImmutableArray<LocalSymbol> locals, BoundPattern pattern, bool hasUnionMatching, BoundExpression? whenClause, BoundExpression value, LabelSymbol label) 5759public BoundSwitchLabel(SyntaxNode syntax, LabelSymbol label, BoundPattern pattern, bool hasUnionMatching, BoundExpression? whenClause, bool hasErrors = false) 5773public BoundPattern Pattern { get; } 5780public BoundSwitchLabel Update(LabelSymbol label, BoundPattern pattern, bool hasUnionMatching, BoundExpression? whenClause) 8068public BoundIsPatternExpression(SyntaxNode syntax, BoundExpression expression, BoundPattern pattern, bool hasUnionMatching, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type, bool hasErrors = false) 8088public BoundPattern Pattern { get; } 8098public BoundIsPatternExpression Update(BoundExpression expression, BoundPattern pattern, bool hasUnionMatching, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type) 8183public BoundPatternWithUnionMatching(SyntaxNode syntax, TypeSymbol unionMatchingInputType, BoundPattern? leftOfPendingConjunction, BoundPattern? exclusiveInstancePattern, BoundPropertySubpatternMember valueProperty, BoundPattern exclusiveValuePattern, BoundPattern? sharedRightOfPendingConjunction, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8206public BoundPattern? LeftOfPendingConjunction { get; } 8207public BoundPattern? ExclusiveInstancePattern { get; } 8209public BoundPattern ExclusiveValuePattern { get; } 8210public BoundPattern? SharedRightOfPendingConjunction { get; } 8215public BoundPatternWithUnionMatching Update(TypeSymbol unionMatchingInputType, BoundPattern? leftOfPendingConjunction, BoundPattern? exclusiveInstancePattern, BoundPropertySubpatternMember valueProperty, BoundPattern exclusiveValuePattern, BoundPattern? sharedRightOfPendingConjunction, TypeSymbol inputType, TypeSymbol narrowedType) 8367public BoundListPattern(SyntaxNode syntax, ImmutableArray<BoundPattern> subpatterns, bool hasSlice, BoundExpression? lengthAccess, BoundExpression? indexerAccess, BoundListPatternReceiverPlaceholder? receiverPlaceholder, BoundListPatternIndexPlaceholder? argumentPlaceholder, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8387public ImmutableArray<BoundPattern> Subpatterns { get; } 8397public BoundListPattern Update(ImmutableArray<BoundPattern> subpatterns, bool hasSlice, BoundExpression? lengthAccess, BoundExpression? indexerAccess, BoundListPatternReceiverPlaceholder? receiverPlaceholder, BoundListPatternIndexPlaceholder? argumentPlaceholder, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType) 8411public BoundSlicePattern(SyntaxNode syntax, BoundPattern? pattern, BoundExpression? indexerAccess, BoundSlicePatternReceiverPlaceholder? receiverPlaceholder, BoundSlicePatternRangePlaceholder? argumentPlaceholder, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8428public BoundPattern? Pattern { get; } 8436public BoundSlicePattern Update(BoundPattern? pattern, BoundExpression? indexerAccess, BoundSlicePatternReceiverPlaceholder? receiverPlaceholder, BoundSlicePatternRangePlaceholder? argumentPlaceholder, TypeSymbol inputType, TypeSymbol narrowedType) 8490protected BoundSubpattern(BoundKind kind, SyntaxNode syntax, BoundPattern pattern, bool hasErrors = false) 8503public BoundPattern Pattern { get; } 8508public BoundPositionalSubpattern(SyntaxNode syntax, Symbol? symbol, BoundPattern pattern, bool hasErrors = false) 8522public BoundPositionalSubpattern Update(Symbol? symbol, BoundPattern pattern) 8536public BoundPropertySubpattern(SyntaxNode syntax, BoundPropertySubpatternMember? member, bool isLengthOrCount, BoundPattern pattern, bool hasErrors = false) 8552public BoundPropertySubpattern Update(BoundPropertySubpatternMember? member, bool isLengthOrCount, BoundPattern pattern) 8636public BoundBinaryPattern(SyntaxNode syntax, bool disjunction, BoundPattern left, BoundPattern right, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8655public BoundPattern Left { get; } 8656public BoundPattern Right { get; } 8661public BoundBinaryPattern Update(bool disjunction, BoundPattern left, BoundPattern right, TypeSymbol inputType, TypeSymbol narrowedType) 8675public BoundNegatedPattern(SyntaxNode syntax, BoundPattern negated, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8690public BoundPattern Negated { get; } 8695public BoundNegatedPattern Update(BoundPattern negated, TypeSymbol inputType, TypeSymbol narrowedType) 11929BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 12086BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 12512BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 12526BoundPattern? leftOfPendingConjunction = (BoundPattern?)this.Visit(node.LeftOfPendingConjunction); 12527BoundPattern? exclusiveInstancePattern = (BoundPattern?)this.Visit(node.ExclusiveInstancePattern); 12529BoundPattern exclusiveValuePattern = (BoundPattern)this.Visit(node.ExclusiveValuePattern); 12530BoundPattern? sharedRightOfPendingConjunction = (BoundPattern?)this.Visit(node.SharedRightOfPendingConjunction); 12566ImmutableArray<BoundPattern> subpatterns = this.VisitList(node.Subpatterns); 12578BoundPattern? pattern = (BoundPattern?)this.Visit(node.Pattern); 12598BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 12604BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 12623BoundPattern left = (BoundPattern)this.Visit(node.Left); 12624BoundPattern right = (BoundPattern)this.Visit(node.Right); 12631BoundPattern negated = (BoundPattern)this.Visit(node.Negated); 14130BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 15196BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 15225BoundPattern? leftOfPendingConjunction = (BoundPattern?)this.Visit(node.LeftOfPendingConjunction); 15226BoundPattern? exclusiveInstancePattern = (BoundPattern?)this.Visit(node.ExclusiveInstancePattern); 15228BoundPattern exclusiveValuePattern = (BoundPattern)this.Visit(node.ExclusiveValuePattern); 15229BoundPattern? sharedRightOfPendingConjunction = (BoundPattern?)this.Visit(node.SharedRightOfPendingConjunction); 15268ImmutableArray<BoundPattern> subpatterns = this.VisitList(node.Subpatterns); 15281BoundPattern? pattern = (BoundPattern?)this.Visit(node.Pattern); 15301BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 15324BoundPattern negated = (BoundPattern)this.Visit(node.Negated);