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)
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
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)
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);
9522
return VisitPatternWithUnionMatching((
BoundPatternWithUnionMatching
)node, arg);
9790
public virtual R VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node, A arg) => this.DefaultVisit(node, arg);
10031
public virtual BoundNode? VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node) => this.DefaultVisit(node);
10983
public override BoundNode? VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node)
12522
public override BoundNode? VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node)
15211
public override BoundNode? VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node)
17458
public override TreeDumperNode VisitPatternWithUnionMatching(
BoundPatternWithUnionMatching
node, object? arg) => new TreeDumperNode("patternWithUnionMatching", null, new TreeDumperNode[]