3 instantiations of BoundSwitchExpressionArm
Microsoft.CodeAnalysis.CSharp (3)
Binder\Binder_Conversions.cs (1)
467
new
BoundSwitchExpressionArm
(oldCase.Syntax, oldCase.Locals, oldCase.Pattern, oldCase.WhenClause, newValue, oldCase.Label, oldCase.HasErrors);
Binder\SwitchExpressionArmBinder.cs (1)
48
return new
BoundSwitchExpressionArm
(node, locals, pattern, whenClause, armResult, label, hasErrors | pattern.HasErrors);
Generated\BoundNodes.xml.Generated.cs (1)
4821
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)
4276
foreach (
var
arm in ((BoundSwitchExpression)expr).SwitchArms)
Binder\Binder_Conversions.cs (3)
457
var builder = ArrayBuilder<
BoundSwitchExpressionArm
>.GetInstance(source.SwitchArms.Length);
460
var
oldCase = source.SwitchArms[i];
466
var
newCase = (oldValue == newValue) ? oldCase :
Binder\Binder_Expressions.cs (1)
807
internal virtual
BoundSwitchExpressionArm
BindSwitchExpressionArm(SwitchExpressionArmSyntax node, TypeSymbol switchGoverningType, BindingDiagnosticBag diagnostics)
Binder\Binder_Statements.cs (1)
2357
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)
102
ImmutableArray<
BoundSwitchExpressionArm
> switchArms,
166
ImmutableArray<
BoundSwitchExpressionArm
> switchArms)
171
foreach (
BoundSwitchExpressionArm
arm in switchArms)
Binder\RefSafetyAnalysis.cs (1)
365
public override BoundNode? VisitSwitchExpressionArm(
BoundSwitchExpressionArm
node)
Binder\Semantics\Conversions\ConversionsBase.cs (1)
1113
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)
31
ImmutableArray<
BoundSwitchExpressionArm
> switchArms = BindSwitchExpressionArms(node, originalBinder, boundInputExpression, diagnostics);
56
ImmutableArray<
BoundSwitchExpressionArm
> switchArms,
65
foreach (
BoundSwitchExpressionArm
arm in switchArms)
134
private TypeSymbol? InferResultType(ImmutableArray<
BoundSwitchExpressionArm
> switchCases, BindingDiagnosticBag diagnostics)
138
foreach (
var
@case in switchCases)
156
foreach (
var
@case in switchCases)
170
private ImmutableArray<
BoundSwitchExpressionArm
> BindSwitchExpressionArms(SwitchExpressionSyntax node, Binder originalBinder, BoundExpression inputExpression, BindingDiagnosticBag diagnostics)
172
var builder = ArrayBuilder<
BoundSwitchExpressionArm
>.GetInstance();
178
var
boundArm = armBinder.BindSwitchExpressionArm(arm, inputType, diagnostics);
BoundTree\BoundNode.cs (1)
555
public override BoundNode? VisitSwitchExpressionArm(
BoundSwitchExpressionArm
node)
FlowAnalysis\AbstractFlowPass_Switch.cs (1)
161
foreach (
var
arm in node.SwitchArms)
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
249
public override BoundNode? VisitSwitchExpressionArm(
BoundSwitchExpressionArm
node)
FlowAnalysis\NullableWalker_Patterns.cs (4)
844
foreach (
var
arm in node.SwitchArms)
878
foreach (
var
arm in node.SwitchArms)
955
var
arm = node.SwitchArms[i];
999
LocalState getStateForArm(
BoundSwitchExpressionArm
arm, PooledDictionary<LabelSymbol, (LocalState state, bool believedReachable)> labelStateMap)
Generated\BoundNodes.xml.Generated.cs (19)
4768
protected BoundSwitchExpression(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<
BoundSwitchExpressionArm
> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false)
4784
public ImmutableArray<
BoundSwitchExpressionArm
> SwitchArms { get; }
4817
public
BoundSwitchExpressionArm
Update(ImmutableArray<LocalSymbol> locals, BoundPattern pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label)
4821
var
result = new BoundSwitchExpressionArm(this.Syntax, locals, pattern, whenClause, value, label, this.HasErrors);
4831
public BoundUnconvertedSwitchExpression(SyntaxNode syntax, BoundExpression expression, ImmutableArray<
BoundSwitchExpressionArm
> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false)
4845
public BoundUnconvertedSwitchExpression Update(BoundExpression expression, ImmutableArray<
BoundSwitchExpressionArm
> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type)
4859
public BoundConvertedSwitchExpression(SyntaxNode syntax, TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<
BoundSwitchExpressionArm
> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type, bool hasErrors = false)
4879
public BoundConvertedSwitchExpression Update(TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<
BoundSwitchExpressionArm
> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type)
8763
return VisitSwitchExpressionArm((
BoundSwitchExpressionArm
)node, arg);
9094
public virtual R VisitSwitchExpressionArm(
BoundSwitchExpressionArm
node, A arg) => this.DefaultVisit(node, arg);
9322
public virtual BoundNode? VisitSwitchExpressionArm(
BoundSwitchExpressionArm
node) => this.DefaultVisit(node);
9907
public override BoundNode? VisitSwitchExpressionArm(
BoundSwitchExpressionArm
node)
11124
public override BoundNode? VisitSwitchExpressionArm(
BoundSwitchExpressionArm
node)
11134
ImmutableArray<
BoundSwitchExpressionArm
> switchArms = this.VisitList(node.SwitchArms);
11142
ImmutableArray<
BoundSwitchExpressionArm
> switchArms = this.VisitList(node.SwitchArms);
13158
public override BoundNode? VisitSwitchExpressionArm(
BoundSwitchExpressionArm
node)
13170
ImmutableArray<
BoundSwitchExpressionArm
> switchArms = this.VisitList(node.SwitchArms);
13190
ImmutableArray<
BoundSwitchExpressionArm
> switchArms = this.VisitList(node.SwitchArms);
15506
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)
271
return CreateBoundSwitchExpressionArmOperation((
BoundSwitchExpressionArm
)boundNode);
2562
ImmutableArray<ISwitchExpressionArmOperation> arms = CreateFromArray<
BoundSwitchExpressionArm
, ISwitchExpressionArmOperation>(boundSwitchExpression.SwitchArms);
2585
private ISwitchExpressionArmOperation CreateBoundSwitchExpressionArmOperation(
BoundSwitchExpressionArm
boundSwitchExpressionArm)