2 instantiations of BoundSwitchExpressionArm
Microsoft.CodeAnalysis.CSharp (2)
Binder\Binder_Conversions.cs (1)
1994
new
BoundSwitchExpressionArm
(oldCase.Syntax, oldCase.Locals, oldCase.Pattern, oldCase.WhenClause, newValue, oldCase.Label, oldCase.HasErrors);
Generated\BoundNodes.xml.Generated.cs (1)
4935
var result = new
BoundSwitchExpressionArm
(this.Syntax, locals, pattern, whenClause, value, label, this.HasErrors);
53 references to BoundSwitchExpressionArm
Microsoft.CodeAnalysis.CSharp (53)
Binder\Binder.ValueChecks.cs (1)
5418
foreach (
var
arm in ((BoundSwitchExpression)expr).SwitchArms)
Binder\Binder_Conversions.cs (3)
1984
var builder = ArrayBuilder<
BoundSwitchExpressionArm
>.GetInstance(source.SwitchArms.Length);
1987
var
oldCase = source.SwitchArms[i];
1993
var
newCase = (oldValue == newValue) ? oldCase :
Binder\Binder_Expressions.cs (1)
850
internal virtual
BoundSwitchExpressionArm
BindSwitchExpressionArm(SwitchExpressionArmSyntax node, TypeSymbol switchGoverningType, BindingDiagnosticBag diagnostics)
Binder\Binder_Statements.cs (1)
2409
foreach (
var
arm in switchExpression.SwitchArms)
Binder\BuckStopsHereBinder.cs (1)
204
internal override
BoundSwitchExpressionArm
BindSwitchExpressionArm(SwitchExpressionArmSyntax node, TypeSymbol switchGoverningType, BindingDiagnosticBag diagnostics)
Binder\DecisionDagBuilder.cs (3)
101
ImmutableArray<
BoundSwitchExpressionArm
> switchArms,
169
ImmutableArray<
BoundSwitchExpressionArm
> switchArms)
174
foreach (
BoundSwitchExpressionArm
arm in switchArms)
Binder\RefSafetyAnalysis.cs (1)
415
public override BoundNode? VisitSwitchExpressionArm(
BoundSwitchExpressionArm
node)
Binder\Semantics\Conversions\ConversionsBase.cs (1)
1195
foreach (
var
arm in switchExpression.SwitchArms)
Binder\SwitchExpressionArmBinder.cs (2)
29
internal
BoundSwitchExpressionArm
BindSwitchExpressionArm(SwitchExpressionArmSyntax node, BindingDiagnosticBag diagnostics)
36
internal override
BoundSwitchExpressionArm
BindSwitchExpressionArm(SwitchExpressionArmSyntax node, TypeSymbol switchGoverningType, BindingDiagnosticBag diagnostics)
Binder\SwitchExpressionBinder.cs (9)
32
ImmutableArray<
BoundSwitchExpressionArm
> switchArms = BindSwitchExpressionArms(node, originalBinder, boundInputExpression, diagnostics);
57
ImmutableArray<
BoundSwitchExpressionArm
> switchArms,
66
foreach (
BoundSwitchExpressionArm
arm in switchArms)
139
private TypeSymbol? InferResultType(ImmutableArray<
BoundSwitchExpressionArm
> switchCases, BindingDiagnosticBag diagnostics)
143
foreach (
var
@case in switchCases)
161
foreach (
var
@case in switchCases)
175
private ImmutableArray<
BoundSwitchExpressionArm
> BindSwitchExpressionArms(SwitchExpressionSyntax node, Binder originalBinder, BoundExpression inputExpression, BindingDiagnosticBag diagnostics)
177
var builder = ArrayBuilder<
BoundSwitchExpressionArm
>.GetInstance();
183
var
boundArm = armBinder.BindSwitchExpressionArm(arm, inputType, diagnostics);
BoundTree\BoundNode.cs (1)
617
public override BoundNode? VisitSwitchExpressionArm(
BoundSwitchExpressionArm
node)
FlowAnalysis\AbstractFlowPass_Switch.cs (1)
161
foreach (
var
arm in node.SwitchArms)
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
366
public override BoundNode? VisitSwitchExpressionArm(
BoundSwitchExpressionArm
node)
FlowAnalysis\NullableWalker_Patterns.cs (4)
884
foreach (
var
arm in node.SwitchArms)
918
foreach (
var
arm in node.SwitchArms)
1000
var
arm = node.SwitchArms[i];
1044
LocalState getStateForArm(
BoundSwitchExpressionArm
arm, PooledDictionary<LabelSymbol, (LocalState state, bool believedReachable)> labelStateMap)
Generated\BoundNodes.xml.Generated.cs (19)
4882
protected BoundSwitchExpression(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<
BoundSwitchExpressionArm
> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false)
4898
public ImmutableArray<
BoundSwitchExpressionArm
> SwitchArms { get; }
4931
public
BoundSwitchExpressionArm
Update(ImmutableArray<LocalSymbol> locals, BoundPattern pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label)
4935
var
result = new BoundSwitchExpressionArm(this.Syntax, locals, pattern, whenClause, value, label, this.HasErrors);
4945
public BoundUnconvertedSwitchExpression(SyntaxNode syntax, BoundExpression expression, ImmutableArray<
BoundSwitchExpressionArm
> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false)
4959
public BoundUnconvertedSwitchExpression Update(BoundExpression expression, ImmutableArray<
BoundSwitchExpressionArm
> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type)
4973
public BoundConvertedSwitchExpression(SyntaxNode syntax, TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<
BoundSwitchExpressionArm
> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type, bool hasErrors = false)
4993
public BoundConvertedSwitchExpression Update(TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<
BoundSwitchExpressionArm
> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type)
9126
return VisitSwitchExpressionArm((
BoundSwitchExpressionArm
)node, arg);
9470
public virtual R VisitSwitchExpressionArm(
BoundSwitchExpressionArm
node, A arg) => this.DefaultVisit(node, arg);
9706
public virtual BoundNode? VisitSwitchExpressionArm(
BoundSwitchExpressionArm
node) => this.DefaultVisit(node);
10303
public override BoundNode? VisitSwitchExpressionArm(
BoundSwitchExpressionArm
node)
11645
public override BoundNode? VisitSwitchExpressionArm(
BoundSwitchExpressionArm
node)
11658
ImmutableArray<
BoundSwitchExpressionArm
> switchArms = this.VisitList(node.SwitchArms);
11667
ImmutableArray<
BoundSwitchExpressionArm
> switchArms = this.VisitList(node.SwitchArms);
13811
public override BoundNode? VisitSwitchExpressionArm(
BoundSwitchExpressionArm
node)
13823
ImmutableArray<
BoundSwitchExpressionArm
> switchArms = this.VisitList(node.SwitchArms);
13843
ImmutableArray<
BoundSwitchExpressionArm
> switchArms = this.VisitList(node.SwitchArms);
16253
public override TreeDumperNode VisitSwitchExpressionArm(
BoundSwitchExpressionArm
node, object? arg) => new TreeDumperNode("switchExpressionArm", null, new TreeDumperNode[]
Lowering\LocalRewriter\LocalRewriter_SwitchExpression.cs (1)
91
foreach (
BoundSwitchExpressionArm
arm in node.SwitchArms)
Operations\CSharpOperationFactory.cs (3)
275
return CreateBoundSwitchExpressionArmOperation((
BoundSwitchExpressionArm
)boundNode);
2707
ImmutableArray<ISwitchExpressionArmOperation> arms = CreateFromArray<
BoundSwitchExpressionArm
, ISwitchExpressionArmOperation>(boundSwitchExpression.SwitchArms);
2730
private ISwitchExpressionArmOperation CreateBoundSwitchExpressionArmOperation(
BoundSwitchExpressionArm
boundSwitchExpressionArm)