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