4 instantiations of BoundPatternWithUnionMatching
Microsoft.CodeAnalysis.CSharp (4)
Binder\UnionMatchingRewriter.cs (3)
66return new BoundPatternWithUnionMatching( 366leftOfPendingConjunction = new BoundPatternWithUnionMatching( 387return 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 57private static BoundPatternWithUnionMatching CreatePatternWithUnionMatching(NamedTypeSymbol unionMatchingInputType, BoundPattern innerPattern) 85BoundPatternWithUnionMatching underlyingValueMatching = CreatePatternWithUnionMatching( 257if (result is BoundPatternWithUnionMatching unionPattern) 324narrowedTypeCandidates.Add(result is BoundPatternWithUnionMatching unionResult ? getDisjunctionType(unionResult) : result.NarrowedType); 337if (right is BoundPatternWithUnionMatching rightUnionPattern) 350var stack = ArrayBuilder<BoundPatternWithUnionMatching>.GetInstance(); 354while (rightUnionPattern.LeftOfPendingConjunction is BoundPatternWithUnionMatching other) 360Debug.Assert(rightUnionPattern.LeftOfPendingConjunction is not BoundPatternWithUnionMatching); 382if (left is BoundPatternWithUnionMatching leftUnionPattern) 409static TypeSymbol getDisjunctionType(BoundPatternWithUnionMatching unionPattern) 414while (unionPattern.LeftOfPendingConjunction is BoundPatternWithUnionMatching leftUnionPattern) 433if (pattern is BoundPatternWithUnionMatching unionPattern) 481if (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)
25Debug.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); 9524return VisitPatternWithUnionMatching((BoundPatternWithUnionMatching)node, arg); 9792public virtual R VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node, A arg) => this.DefaultVisit(node, arg); 10033public virtual BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node) => this.DefaultVisit(node); 10985public override BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node) 12524public override BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node) 15213public override BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node) 17460public override TreeDumperNode VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node, object? arg) => new TreeDumperNode("patternWithUnionMatching", null, new TreeDumperNode[]