6 instantiations of BoundBinaryPattern
Microsoft.CodeAnalysis.CSharp (6)
Binder\DecisionDagBuilder_CheckOrReachability.cs (3)
488
var wrappedPattern = new
BoundBinaryPattern
(newPattern.Syntax, disjunction: false, current.Left, newPattern, current.InputType, newPattern.NarrowedType);
743
stack.Push(new
BoundBinaryPattern
(operationSyntax, disjunction, left, right, left.InputType, narrowedType));
1040
var result = new
BoundBinaryPattern
(pattern.Syntax, disjunction: false, left: typePattern, right: pattern, inputType, pattern.NarrowedType);
Binder\UnionMatchingRewriter.cs (2)
89
return new
BoundBinaryPattern
(
426
return new
BoundBinaryPattern
(node, disjunction: false, left, right, inputType: left.InputType, narrowedType: right.NarrowedType) { WasCompilerGenerated = makeCompilerGenerated };
Generated\BoundNodes.xml.Generated.cs (1)
8680
var result = new
BoundBinaryPattern
(this.Syntax, disjunction, left, right, inputType, narrowedType, this.HasErrors);
105 references to BoundBinaryPattern
Microsoft.CodeAnalysis.CSharp (105)
Binder\Binder_Patterns.cs (6)
269
case
BoundBinaryPattern
_:
307
case
BoundBinaryPattern
_:
2233
static
BoundBinaryPattern
bindBinaryPattern(
2275
var
result = new BoundBinaryPattern(node, disjunction: isDisjunction, preboundLeft, right, inputType: inputType, narrowedType: right.NarrowedType, hasErrors);
2338
while (pat is
BoundBinaryPattern
{ Disjunction: true } p)
2369
if (pat is
BoundBinaryPattern
{ Disjunction: false } p)
Binder\DecisionDagBuilder.cs (6)
405
case
BoundBinaryPattern
bin:
1079
BoundBinaryPattern
bin,
1085
var binaryPatternStack = ArrayBuilder<
BoundBinaryPattern
>.GetInstance();
1086
var
currentNode = bin;
1091
currentNode = currentNode.Left as
BoundBinaryPattern
;
1106
Tests makeTestsAndBindingsForBinaryPattern(DecisionDagBuilder @this, Tests leftTests, TestInputOutputInfo leftOutputInfo, TestInputOutputInfo inputInfo,
BoundBinaryPattern
bin, out TestInputOutputInfo outputInfo, ArrayBuilder<BoundPatternBinding> bindings)
Binder\DecisionDagBuilder_CheckOrReachability.cs (19)
423
if (pattern is
BoundBinaryPattern
binaryPattern)
436
if (pattern is
BoundBinaryPattern
nestedBinary)
442
static void analyzeBinary(ArrayBuilder<BoundPattern> currentCases,
BoundBinaryPattern
binaryPattern, Func<BoundPattern, BoundPattern>? wrapIntoParentAndPattern, ref readonly ReachabilityAnalysisContext context)
470
var stack = ArrayBuilder<
BoundBinaryPattern
>.GetInstance();
471
BoundBinaryPattern
? current = binaryPattern;
475
current = current.Left as
BoundBinaryPattern
;
488
var
wrappedPattern = new BoundBinaryPattern(newPattern.Syntax, disjunction: false, current.Left, newPattern, current.InputType, newPattern.NarrowedType);
550
if (pattern is
BoundBinaryPattern
{ Disjunction: true } orPattern)
552
var stack = ArrayBuilder<
BoundBinaryPattern
>.GetInstance();
554
BoundBinaryPattern
? current = orPattern;
558
current = current.Left as
BoundBinaryPattern
;
564
Debug.Assert(current.Left is not
BoundBinaryPattern
{ Disjunction: true });
799
Debug.Assert(node is
BoundBinaryPattern
827
public override BoundNode? VisitBinaryPattern(
BoundBinaryPattern
node)
836
var stack = ArrayBuilder<
BoundBinaryPattern
>.GetInstance();
838
BoundBinaryPattern
? current = node;
842
current = current.Left as
BoundBinaryPattern
;
850
Debug.Assert(!(current.Left is
BoundBinaryPattern
binary && binary.Disjunction == node.Disjunction));
1040
var
result = new BoundBinaryPattern(pattern.Syntax, disjunction: false, left: typePattern, right: pattern, inputType, pattern.NarrowedType);
Binder\UnionMatchingRewriter.cs (7)
239
public override BoundNode? VisitBinaryPattern(
BoundBinaryPattern
node)
241
var binaryPatternStack = ArrayBuilder<
BoundBinaryPattern
>.GetInstance();
242
BoundBinaryPattern
? currentNode = node;
247
currentNode = currentNode.Left as
BoundBinaryPattern
;
252
var
binaryPattern = binaryPatternStack.Pop();
288
BoundBinaryPattern
node
424
private static
BoundBinaryPattern
MakeBinaryAnd(SyntaxNode node, BoundPattern left, BoundPattern right, bool makeCompilerGenerated)
BoundTree\BoundNode_Source.cs (1)
349
case
BoundBinaryPattern
binaryPattern:
BoundTree\BoundTreeRewriter.cs (5)
340
public sealed override BoundNode? VisitBinaryPattern(
BoundBinaryPattern
node)
349
var stack = ArrayBuilder<
BoundBinaryPattern
>.GetInstance();
352
BoundBinaryPattern
binary = (
BoundBinaryPattern
)child;
364
binary = (
BoundBinaryPattern
)child;
BoundTree\BoundTreeWalker.cs (3)
145
public sealed override BoundNode? VisitBinaryPattern(
BoundBinaryPattern
node)
147
if (node.Left is not
BoundBinaryPattern
binary)
161
binary = (
BoundBinaryPattern
)current;
BoundTree\NullabilityRewriter.cs (4)
137
public override BoundNode? VisitBinaryPattern(
BoundBinaryPattern
node)
141
var stack = ArrayBuilder<
BoundBinaryPattern
>.GetInstance();
142
BoundBinaryPattern
? currentBinary = node;
147
currentBinary = currentBinary.Left as
BoundBinaryPattern
;
Compilation\MemberSemanticModel.NodeMapBuilder.cs (3)
223
else if (current is
BoundBinaryPattern
binaryPattern)
229
binaryPattern = currentPattern as
BoundBinaryPattern
;
240
binaryPattern = currentPattern as
BoundBinaryPattern
;
FlowAnalysis\AbstractFlowPass.cs (12)
928
BoundDeclarationPattern or BoundConstantPattern or BoundNegatedPattern or
BoundBinaryPattern
or
1045
case
BoundBinaryPattern
binary:
1047
Debug.Assert(binaryPatterns.Peek().Left is not
BoundBinaryPattern
);
1050
while (binaryPatterns.TryPop(out
var
currentBinary))
1086
case
BoundBinaryPattern
binary:
1088
Debug.Assert(binaryPatterns.Peek().Left is not
BoundBinaryPattern
);
1091
while (binaryPatterns.TryPop(out
var
currentBinary))
1128
static ArrayBuilder<
BoundBinaryPattern
> getBinaryPatterns(
BoundBinaryPattern
binaryPattern)
1132
var stack = ArrayBuilder<
BoundBinaryPattern
>.GetInstance();
1137
if (binaryPattern.Left is
BoundBinaryPattern
leftBinaryPattern)
1162
public override BoundNode VisitBinaryPattern(
BoundBinaryPattern
node)
FlowAnalysis\DefiniteAssignment.cs (5)
2051
var
pat = (
BoundBinaryPattern
)pattern;
2053
if (pat.Left is not
BoundBinaryPattern
)
2062
var stack = ArrayBuilder<(
BoundBinaryPattern
pattern, bool def)>.GetInstance();
2068
pat = pat.Left as
BoundBinaryPattern
;
FlowAnalysis\NullableWalker.DebugVerifier.cs (2)
333
public override BoundNode? VisitBinaryPattern(
BoundBinaryPattern
node)
340
if (node.Left is not
BoundBinaryPattern
child)
FlowAnalysis\NullableWalker_Patterns.cs (8)
112
public override BoundNode VisitBinaryPattern(
BoundBinaryPattern
node)
116
var stack = ArrayBuilder<
BoundBinaryPattern
>.GetInstance();
117
BoundBinaryPattern
current = node;
121
current = current.Left as
BoundBinaryPattern
;
129
Debug.Assert(current.Left is not
BoundBinaryPattern
);
223
case
BoundBinaryPattern
p:
225
var
current = p;
231
if (current.Left is
BoundBinaryPattern
left)
FlowAnalysis\VariablesDeclaredWalker.cs (6)
124
case
BoundBinaryPattern
:
126
var
binaryPattern = (
BoundBinaryPattern
)pattern;
127
if (binaryPattern.Left is not
BoundBinaryPattern
)
140
var stack = ArrayBuilder<
BoundBinaryPattern
>.GetInstance();
144
binaryPattern = binaryPattern.Left as
BoundBinaryPattern
;
Generated\BoundNodes.xml.Generated.cs (8)
8676
public
BoundBinaryPattern
Update(bool disjunction, BoundPattern left, BoundPattern right, TypeSymbol inputType, TypeSymbol narrowedType)
8680
var
result = new BoundBinaryPattern(this.Syntax, disjunction, left, right, inputType, narrowedType, this.HasErrors);
9546
return VisitBinaryPattern((
BoundBinaryPattern
)node, arg);
9803
public virtual R VisitBinaryPattern(
BoundBinaryPattern
node, A arg) => this.DefaultVisit(node, arg);
10044
public virtual BoundNode? VisitBinaryPattern(
BoundBinaryPattern
node) => this.DefaultVisit(node);
11044
public override BoundNode? VisitBinaryPattern(
BoundBinaryPattern
node)
12619
public override BoundNode? VisitBinaryPattern(
BoundBinaryPattern
node)
17576
public override TreeDumperNode VisitBinaryPattern(
BoundBinaryPattern
node, object? arg) => new TreeDumperNode("binaryPattern", null, new TreeDumperNode[]
Lowering\DiagnosticsPass_ExpressionTrees.cs (3)
725
public override BoundNode VisitBinaryPattern(
BoundBinaryPattern
node)
729
BoundBinaryPattern
current = node;
733
if (current.Left is
BoundBinaryPattern
left)
Operations\CSharpOperationFactory.cs (7)
234
return CreateBoundBinaryPatternOperation((
BoundBinaryPattern
)boundNode);
2709
private IOperation CreateBoundBinaryPatternOperation(
BoundBinaryPattern
boundBinaryPattern)
2711
if (boundBinaryPattern.Left is not
BoundBinaryPattern
)
2717
var stack = ArrayBuilder<
BoundBinaryPattern
>.GetInstance();
2718
BoundBinaryPattern
? current = boundBinaryPattern;
2723
current = current.Left as
BoundBinaryPattern
;
2736
static BinaryPatternOperation createOperation(CSharpOperationFactory @this,
BoundBinaryPattern
boundBinaryPattern, IPatternOperation left)