2 instantiations of BoundSwitchExpressionArm
Microsoft.CodeAnalysis.CSharp (2)
Binder\Binder_Conversions.cs (1)
1999new BoundSwitchExpressionArm(oldCase.Syntax, oldCase.Locals, oldCase.Pattern, oldCase.WhenClause, newValue, oldCase.Label, oldCase.HasErrors);
Generated\BoundNodes.xml.Generated.cs (1)
4924var 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)
5419foreach (var arm in ((BoundSwitchExpression)expr).SwitchArms)
Binder\Binder_Conversions.cs (3)
1989var builder = ArrayBuilder<BoundSwitchExpressionArm>.GetInstance(source.SwitchArms.Length); 1992var oldCase = source.SwitchArms[i]; 1998var newCase = (oldValue == newValue) ? oldCase :
Binder\Binder_Expressions.cs (1)
850internal virtual BoundSwitchExpressionArm BindSwitchExpressionArm(SwitchExpressionArmSyntax node, TypeSymbol switchGoverningType, BindingDiagnosticBag diagnostics)
Binder\Binder_Statements.cs (1)
2409foreach (var arm in switchExpression.SwitchArms)
Binder\BuckStopsHereBinder.cs (1)
204internal override BoundSwitchExpressionArm BindSwitchExpressionArm(SwitchExpressionArmSyntax node, TypeSymbol switchGoverningType, BindingDiagnosticBag diagnostics)
Binder\DecisionDagBuilder.cs (3)
101ImmutableArray<BoundSwitchExpressionArm> switchArms, 169ImmutableArray<BoundSwitchExpressionArm> switchArms) 174foreach (BoundSwitchExpressionArm arm in switchArms)
Binder\RefSafetyAnalysis.cs (1)
415public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
Binder\Semantics\Conversions\ConversionsBase.cs (1)
1195foreach (var arm in switchExpression.SwitchArms)
Binder\SwitchExpressionArmBinder.cs (2)
29internal BoundSwitchExpressionArm BindSwitchExpressionArm(SwitchExpressionArmSyntax node, BindingDiagnosticBag diagnostics) 36internal override BoundSwitchExpressionArm BindSwitchExpressionArm(SwitchExpressionArmSyntax node, TypeSymbol switchGoverningType, BindingDiagnosticBag diagnostics)
Binder\SwitchExpressionBinder.cs (9)
32ImmutableArray<BoundSwitchExpressionArm> switchArms = BindSwitchExpressionArms(node, originalBinder, boundInputExpression, diagnostics); 57ImmutableArray<BoundSwitchExpressionArm> switchArms, 66foreach (BoundSwitchExpressionArm arm in switchArms) 139private TypeSymbol? InferResultType(ImmutableArray<BoundSwitchExpressionArm> switchCases, BindingDiagnosticBag diagnostics) 143foreach (var @case in switchCases) 161foreach (var @case in switchCases) 175private ImmutableArray<BoundSwitchExpressionArm> BindSwitchExpressionArms(SwitchExpressionSyntax node, Binder originalBinder, BoundExpression inputExpression, BindingDiagnosticBag diagnostics) 177var builder = ArrayBuilder<BoundSwitchExpressionArm>.GetInstance(); 183var boundArm = armBinder.BindSwitchExpressionArm(arm, inputType, diagnostics);
BoundTree\BoundNode.cs (1)
617public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
FlowAnalysis\AbstractFlowPass_Switch.cs (1)
161foreach (var arm in node.SwitchArms)
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
365public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
FlowAnalysis\NullableWalker_Patterns.cs (4)
884foreach (var arm in node.SwitchArms) 918foreach (var arm in node.SwitchArms) 1000var arm = node.SwitchArms[i]; 1044LocalState getStateForArm(BoundSwitchExpressionArm arm, PooledDictionary<LabelSymbol, (LocalState state, bool believedReachable)> labelStateMap)
Generated\BoundNodes.xml.Generated.cs (19)
4871protected BoundSwitchExpression(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false) 4887public ImmutableArray<BoundSwitchExpressionArm> SwitchArms { get; } 4920public BoundSwitchExpressionArm Update(ImmutableArray<LocalSymbol> locals, BoundPattern pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label) 4924var result = new BoundSwitchExpressionArm(this.Syntax, locals, pattern, whenClause, value, label, this.HasErrors); 4934public BoundUnconvertedSwitchExpression(SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false) 4948public BoundUnconvertedSwitchExpression Update(BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type) 4962public BoundConvertedSwitchExpression(SyntaxNode syntax, TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type, bool hasErrors = false) 4982public BoundConvertedSwitchExpression Update(TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type) 9115return VisitSwitchExpressionArm((BoundSwitchExpressionArm)node, arg); 9459public virtual R VisitSwitchExpressionArm(BoundSwitchExpressionArm node, A arg) => this.DefaultVisit(node, arg); 9695public virtual BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) => this.DefaultVisit(node); 10292public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 11634public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 11647ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms); 11656ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms); 13777public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 13789ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms); 13809ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms); 16219public override TreeDumperNode VisitSwitchExpressionArm(BoundSwitchExpressionArm node, object? arg) => new TreeDumperNode("switchExpressionArm", null, new TreeDumperNode[]
Lowering\LocalRewriter\LocalRewriter_SwitchExpression.cs (1)
91foreach (BoundSwitchExpressionArm arm in node.SwitchArms)
Operations\CSharpOperationFactory.cs (3)
275return CreateBoundSwitchExpressionArmOperation((BoundSwitchExpressionArm)boundNode); 2707ImmutableArray<ISwitchExpressionArmOperation> arms = CreateFromArray<BoundSwitchExpressionArm, ISwitchExpressionArmOperation>(boundSwitchExpression.SwitchArms); 2730private ISwitchExpressionArmOperation CreateBoundSwitchExpressionArmOperation(BoundSwitchExpressionArm boundSwitchExpressionArm)