4 instantiations of BoundPatternWithUnionMatching
Microsoft.CodeAnalysis.CSharp (4)
Binder\UnionMatchingRewriter.cs (3)
69
return new
BoundPatternWithUnionMatching
(
358
leftOfPendingConjunction = new
BoundPatternWithUnionMatching
(
381
return new
BoundPatternWithUnionMatching
(
Generated\BoundNodes.xml.Generated.cs (1)
8218
var result = new
BoundPatternWithUnionMatching
(this.Syntax, unionMatchingInputType, leftOfPendingConjunction, exclusiveInstancePattern, valueProperty, exclusiveValuePattern, sharedRightOfPendingConjunction, inputType, narrowedType, this.HasErrors);
33 references to BoundPatternWithUnionMatching
Microsoft.CodeAnalysis.CSharp (33)
Binder\UnionMatchingRewriter.cs (16)
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
55
private static
BoundPatternWithUnionMatching
CreatePatternWithUnionMatching(NamedTypeSymbol unionMatchingInputType, BoundPattern exclusiveValuePattern)
60
private static
BoundPatternWithUnionMatching
CreatePatternWithUnionMatching(NamedTypeSymbol unionMatchingInputType, BoundPattern? exclusiveInstancePattern, BoundPattern exclusiveValuePattern)
94
BoundPatternWithUnionMatching
underlyingValueMatching = CreatePatternWithUnionMatching(
247
if (result is
BoundPatternWithUnionMatching
unionPattern)
314
narrowedTypeCandidates.Add(result is
BoundPatternWithUnionMatching
unionResult ? getDisjunctionType(unionResult) : result.NarrowedType);
327
if (right is
BoundPatternWithUnionMatching
rightUnionPattern)
342
var stack = ArrayBuilder<
BoundPatternWithUnionMatching
>.GetInstance();
346
while (rightUnionPattern.LeftOfPendingConjunction is
BoundPatternWithUnionMatching
other)
352
Debug.Assert(rightUnionPattern.LeftOfPendingConjunction is not
BoundPatternWithUnionMatching
);
376
if (left is
BoundPatternWithUnionMatching
leftUnionPattern)
405
static TypeSymbol getDisjunctionType(
BoundPatternWithUnionMatching
unionPattern)
410
while (unionPattern.LeftOfPendingConjunction is
BoundPatternWithUnionMatching
leftUnionPattern)
441
if (pattern is
BoundPatternWithUnionMatching
unionPattern)
514
if (leftOfPendingConjunction is
BoundPatternWithUnionMatching
leftUnionPattern)
BoundTree\BoundBinaryPattern.cs (2)
14
Debug.Assert(Left is not
BoundPatternWithUnionMatching
);
15
Debug.Assert(Right is not
BoundPatternWithUnionMatching
);
BoundTree\BoundListPattern.cs (1)
21
Debug.Assert(!Subpatterns.Any(p => p is
BoundPatternWithUnionMatching
));
BoundTree\BoundNegatedPattern.cs (1)
16
Debug.Assert(Negated is not
BoundPatternWithUnionMatching
);
BoundTree\BoundPatternWithUnionMatching.cs (2)
18
Debug.Assert(ExclusiveValuePattern is not
BoundPatternWithUnionMatching
);
19
Debug.Assert(SharedRightOfPendingConjunction is not
BoundPatternWithUnionMatching
);
BoundTree\BoundSlicePattern.cs (1)
18
Debug.Assert(Pattern is not
BoundPatternWithUnionMatching
);
BoundTree\BoundSubpattern.cs (1)
13
Debug.Assert(Pattern is not
BoundPatternWithUnionMatching
);
Generated\BoundNodes.xml.Generated.cs (9)
8214
public
BoundPatternWithUnionMatching
Update(TypeSymbol unionMatchingInputType, BoundPattern? leftOfPendingConjunction, BoundPattern? exclusiveInstancePattern, BoundPropertySubpatternMember valueProperty, BoundPattern exclusiveValuePattern, BoundPattern? sharedRightOfPendingConjunction, TypeSymbol inputType, TypeSymbol narrowedType)
8218
var
result = new BoundPatternWithUnionMatching(this.Syntax, unionMatchingInputType, leftOfPendingConjunction, exclusiveInstancePattern, valueProperty, exclusiveValuePattern, sharedRightOfPendingConjunction, inputType, narrowedType, this.HasErrors);
9506
return VisitPatternWithUnionMatching((
BoundPatternWithUnionMatching
)node, arg);
9774
public virtual R VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node, A arg) => this.DefaultVisit(node, arg);
10015
public virtual BoundNode? VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node) => this.DefaultVisit(node);
10979
public override BoundNode? VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node)
12523
public override BoundNode? VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node)
15219
public override BoundNode? VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node)
17471
public override TreeDumperNode VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node, object? arg) => new TreeDumperNode("patternWithUnionMatching", null, new TreeDumperNode[]