2 instantiations of BoundSwitchExpressionArm
Microsoft.CodeAnalysis.CSharp (2)
Binder\Binder_Conversions.cs (1)
2482new BoundSwitchExpressionArm(oldCase.Syntax, oldCase.Locals, oldCase.Pattern, oldCase.HasUnionMatching, oldCase.WhenClause, newValue, oldCase.Label, oldCase.HasErrors);
Generated\BoundNodes.xml.Generated.cs (1)
4992var result = new BoundSwitchExpressionArm(this.Syntax, locals, pattern, hasUnionMatching, whenClause, value, label, this.HasErrors);
57 references to BoundSwitchExpressionArm
Microsoft.CodeAnalysis.CSharp (57)
Binder\Binder.ValueChecks.cs (1)
5523foreach (var arm in ((BoundSwitchExpression)expr).SwitchArms)
Binder\Binder_Conversions.cs (3)
2472var builder = ArrayBuilder<BoundSwitchExpressionArm>.GetInstance(source.SwitchArms.Length); 2475var oldCase = source.SwitchArms[i]; 2481var newCase = (oldValue == newValue) ? oldCase :
Binder\Binder_Expressions.cs (1)
882internal virtual BoundSwitchExpressionArm BindSwitchExpressionArm(SwitchExpressionArmSyntax node, TypeSymbol switchGoverningType, BindingDiagnosticBag diagnostics)
Binder\Binder_Statements.cs (1)
2439foreach (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, 171ImmutableArray<BoundSwitchExpressionArm> switchArms) 176foreach (BoundSwitchExpressionArm arm in switchArms)
Binder\DecisionDagBuilder_CheckOrReachability.cs (4)
99ImmutableArray<BoundSwitchExpressionArm> switchArms, 114ImmutableArray<BoundSwitchExpressionArm> switchArms, 123foreach (var switchArm in switchArms) 135BoundSwitchExpressionArm switchArm = switchArms[patternIndex];
Binder\RefSafetyAnalysis.cs (1)
476public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
Binder\Semantics\Conversions\ConversionsBase.cs (1)
1210foreach (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); 64ImmutableArray<BoundSwitchExpressionArm> switchArms, 75foreach (BoundSwitchExpressionArm arm in switchArms) 150private TypeSymbol? InferResultType(ImmutableArray<BoundSwitchExpressionArm> switchCases, BindingDiagnosticBag diagnostics) 154foreach (var @case in switchCases) 172foreach (var @case in switchCases) 186private ImmutableArray<BoundSwitchExpressionArm> BindSwitchExpressionArms(SwitchExpressionSyntax node, Binder originalBinder, BoundExpression inputExpression, BindingDiagnosticBag diagnostics) 188var builder = ArrayBuilder<BoundSwitchExpressionArm>.GetInstance(); 194var boundArm = armBinder.BindSwitchExpressionArm(arm, inputType, diagnostics);
BoundTree\BoundNode.cs (1)
673public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
FlowAnalysis\AbstractFlowPass_Switch.cs (1)
161foreach (var arm in node.SwitchArms)
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
379public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
FlowAnalysis\NullableWalker_Patterns.cs (4)
984foreach (var arm in node.SwitchArms) 1018foreach (var arm in node.SwitchArms) 1100var arm = node.SwitchArms[i]; 1144LocalState getStateForArm(BoundSwitchExpressionArm arm, PooledDictionary<LabelSymbol, (LocalState state, bool believedReachable)> labelStateMap)
Generated\BoundNodes.xml.Generated.cs (19)
4937protected BoundSwitchExpression(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false) 4953public ImmutableArray<BoundSwitchExpressionArm> SwitchArms { get; } 4988public BoundSwitchExpressionArm Update(ImmutableArray<LocalSymbol> locals, BoundPattern pattern, bool hasUnionMatching, BoundExpression? whenClause, BoundExpression value, LabelSymbol label) 4992var result = new BoundSwitchExpressionArm(this.Syntax, locals, pattern, hasUnionMatching, whenClause, value, label, this.HasErrors); 5002public BoundUnconvertedSwitchExpression(SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false) 5016public BoundUnconvertedSwitchExpression Update(BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type) 5030public BoundConvertedSwitchExpression(SyntaxNode syntax, TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type, bool hasErrors = false) 5050public BoundConvertedSwitchExpression Update(TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type) 9354return VisitSwitchExpressionArm((BoundSwitchExpressionArm)node, arg); 9707public virtual R VisitSwitchExpressionArm(BoundSwitchExpressionArm node, A arg) => this.DefaultVisit(node, arg); 9948public virtual BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) => this.DefaultVisit(node); 10551public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 11925public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 11938ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms); 11947ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms); 14120public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 14132ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms); 14152ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms); 16590public 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)
274return CreateBoundSwitchExpressionArmOperation((BoundSwitchExpressionArm)boundNode); 2773ImmutableArray<ISwitchExpressionArmOperation> arms = CreateFromArray<BoundSwitchExpressionArm, ISwitchExpressionArmOperation>(boundSwitchExpression.SwitchArms); 2796private ISwitchExpressionArmOperation CreateBoundSwitchExpressionArmOperation(BoundSwitchExpressionArm boundSwitchExpressionArm)