4 instantiations of BoundPatternWithUnionMatching
Microsoft.CodeAnalysis.CSharp (4)
Binder\UnionMatchingRewriter.cs (3)
64
return new
BoundPatternWithUnionMatching
(
339
leftOfPendingConjunction = new
BoundPatternWithUnionMatching
(
360
return new
BoundPatternWithUnionMatching
(
Generated\BoundNodes.xml.Generated.cs (1)
8215
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
55
private static
BoundPatternWithUnionMatching
CreatePatternWithUnionMatching(NamedTypeSymbol unionMatchingInputType, BoundPattern innerPattern)
88
BoundPatternWithUnionMatching
underlyingValueMatching = CreatePatternWithUnionMatching(
230
if (result is
BoundPatternWithUnionMatching
unionPattern)
297
narrowedTypeCandidates.Add(result is
BoundPatternWithUnionMatching
unionResult ? getDisjunctionType(unionResult) : result.NarrowedType);
310
if (right is
BoundPatternWithUnionMatching
rightUnionPattern)
323
var stack = ArrayBuilder<
BoundPatternWithUnionMatching
>.GetInstance();
327
while (rightUnionPattern.LeftOfPendingConjunction is
BoundPatternWithUnionMatching
other)
333
Debug.Assert(rightUnionPattern.LeftOfPendingConjunction is not
BoundPatternWithUnionMatching
);
355
if (left is
BoundPatternWithUnionMatching
leftUnionPattern)
382
static TypeSymbol getDisjunctionType(
BoundPatternWithUnionMatching
unionPattern)
387
while (unionPattern.LeftOfPendingConjunction is
BoundPatternWithUnionMatching
leftUnionPattern)
406
if (pattern is
BoundPatternWithUnionMatching
unionPattern)
437
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 (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)
8211
public
BoundPatternWithUnionMatching
Update(TypeSymbol unionMatchingInputType, BoundPattern? leftOfPendingConjunction, BoundPropertySubpatternMember valueProperty, BoundPattern valuePattern, TypeSymbol inputType, TypeSymbol narrowedType)
8215
var
result = new BoundPatternWithUnionMatching(this.Syntax, unionMatchingInputType, leftOfPendingConjunction, valueProperty, valuePattern, inputType, narrowedType, this.HasErrors);
9503
return VisitPatternWithUnionMatching((
BoundPatternWithUnionMatching
)node, arg);
9771
public virtual R VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node, A arg) => this.DefaultVisit(node, arg);
10012
public virtual BoundNode? VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node) => this.DefaultVisit(node);
10976
public override BoundNode? VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node)
12518
public override BoundNode? VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node)
15212
public override BoundNode? VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node)
17462
public override TreeDumperNode VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node, object? arg) => new TreeDumperNode("patternWithUnionMatching", null, new TreeDumperNode[]