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