4 instantiations of BoundPatternWithUnionMatching
Microsoft.CodeAnalysis.CSharp (4)
Binder\UnionMatchingRewriter.cs (3)
64return new BoundPatternWithUnionMatching( 355leftOfPendingConjunction = new BoundPatternWithUnionMatching( 376return new BoundPatternWithUnionMatching(
Generated\BoundNodes.xml.Generated.cs (1)
8234var result = new BoundPatternWithUnionMatching(this.Syntax, unionMatchingInputType, leftOfPendingConjunction, valueProperty, valuePattern, inputType, narrowedType, this.HasErrors);
31 references to BoundPatternWithUnionMatching
Microsoft.CodeAnalysis.CSharp (31)
Binder\UnionMatchingRewriter.cs (15)
17/// a <see cref="BoundPatternWithUnionMatching"/> node created during the rewrite. Rewriter keeps a 18/// <see cref="BoundPatternWithUnionMatching"/> node at the top of the result until we reach a point 55private static BoundPatternWithUnionMatching CreatePatternWithUnionMatching(NamedTypeSymbol unionMatchingInputType, BoundPattern innerPattern) 83BoundPatternWithUnionMatching underlyingValueMatching = CreatePatternWithUnionMatching( 246if (result is BoundPatternWithUnionMatching unionPattern) 313narrowedTypeCandidates.Add(result is BoundPatternWithUnionMatching unionResult ? getDisjunctionType(unionResult) : result.NarrowedType); 326if (right is BoundPatternWithUnionMatching rightUnionPattern) 339var stack = ArrayBuilder<BoundPatternWithUnionMatching>.GetInstance(); 343while (rightUnionPattern.LeftOfPendingConjunction is BoundPatternWithUnionMatching other) 349Debug.Assert(rightUnionPattern.LeftOfPendingConjunction is not BoundPatternWithUnionMatching); 371if (left is BoundPatternWithUnionMatching leftUnionPattern) 398static TypeSymbol getDisjunctionType(BoundPatternWithUnionMatching unionPattern) 403while (unionPattern.LeftOfPendingConjunction is BoundPatternWithUnionMatching leftUnionPattern) 422if (pattern is BoundPatternWithUnionMatching unionPattern) 470if (leftOfPendingConjunction is BoundPatternWithUnionMatching leftUnionPattern)
BoundTree\BoundBinaryPattern.cs (2)
14Debug.Assert(Left is not BoundPatternWithUnionMatching); 15Debug.Assert(Right is not BoundPatternWithUnionMatching);
BoundTree\BoundListPattern.cs (1)
21Debug.Assert(!Subpatterns.Any(p => p is BoundPatternWithUnionMatching));
BoundTree\BoundNegatedPattern.cs (1)
16Debug.Assert(Negated is not BoundPatternWithUnionMatching);
BoundTree\BoundPatternWithUnionMatching.cs (1)
18Debug.Assert(ValuePattern is not BoundPatternWithUnionMatching);
BoundTree\BoundSlicePattern.cs (1)
18Debug.Assert(Pattern is not BoundPatternWithUnionMatching);
BoundTree\BoundSubpattern.cs (1)
13Debug.Assert(Pattern is not BoundPatternWithUnionMatching);
Generated\BoundNodes.xml.Generated.cs (9)
8230public BoundPatternWithUnionMatching Update(TypeSymbol unionMatchingInputType, BoundPattern? leftOfPendingConjunction, BoundPropertySubpatternMember valueProperty, BoundPattern valuePattern, TypeSymbol inputType, TypeSymbol narrowedType) 8234var result = new BoundPatternWithUnionMatching(this.Syntax, unionMatchingInputType, leftOfPendingConjunction, valueProperty, valuePattern, inputType, narrowedType, this.HasErrors); 9522return VisitPatternWithUnionMatching((BoundPatternWithUnionMatching)node, arg); 9790public virtual R VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node, A arg) => this.DefaultVisit(node, arg); 10031public virtual BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node) => this.DefaultVisit(node); 10983public override BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node) 12522public override BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node) 15211public override BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node) 17458public override TreeDumperNode VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node, object? arg) => new TreeDumperNode("patternWithUnionMatching", null, new TreeDumperNode[]