4 instantiations of BoundPatternWithUnionMatching
Microsoft.CodeAnalysis.CSharp (4)
Binder\UnionMatchingRewriter.cs (3)
64
return new
BoundPatternWithUnionMatching
(
355
leftOfPendingConjunction = new
BoundPatternWithUnionMatching
(
376
return new
BoundPatternWithUnionMatching
(
Generated\BoundNodes.xml.Generated.cs (1)
8214
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)
83
BoundPatternWithUnionMatching
underlyingValueMatching = CreatePatternWithUnionMatching(
246
if (result is
BoundPatternWithUnionMatching
unionPattern)
313
narrowedTypeCandidates.Add(result is
BoundPatternWithUnionMatching
unionResult ? getDisjunctionType(unionResult) : result.NarrowedType);
326
if (right is
BoundPatternWithUnionMatching
rightUnionPattern)
339
var stack = ArrayBuilder<
BoundPatternWithUnionMatching
>.GetInstance();
343
while (rightUnionPattern.LeftOfPendingConjunction is
BoundPatternWithUnionMatching
other)
349
Debug.Assert(rightUnionPattern.LeftOfPendingConjunction is not
BoundPatternWithUnionMatching
);
371
if (left is
BoundPatternWithUnionMatching
leftUnionPattern)
398
static TypeSymbol getDisjunctionType(
BoundPatternWithUnionMatching
unionPattern)
403
while (unionPattern.LeftOfPendingConjunction is
BoundPatternWithUnionMatching
leftUnionPattern)
422
if (pattern is
BoundPatternWithUnionMatching
unionPattern)
470
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)
8210
public
BoundPatternWithUnionMatching
Update(TypeSymbol unionMatchingInputType, BoundPattern? leftOfPendingConjunction, BoundPropertySubpatternMember valueProperty, BoundPattern valuePattern, TypeSymbol inputType, TypeSymbol narrowedType)
8214
var
result = new BoundPatternWithUnionMatching(this.Syntax, unionMatchingInputType, leftOfPendingConjunction, valueProperty, valuePattern, inputType, narrowedType, this.HasErrors);
9502
return VisitPatternWithUnionMatching((
BoundPatternWithUnionMatching
)node, arg);
9770
public virtual R VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node, A arg) => this.DefaultVisit(node, arg);
10011
public virtual BoundNode? VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node) => this.DefaultVisit(node);
10975
public override BoundNode? VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node)
12517
public override BoundNode? VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node)
15211
public override BoundNode? VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node)
17461
public override TreeDumperNode VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node, object? arg) => new TreeDumperNode("patternWithUnionMatching", null, new TreeDumperNode[]