3 instantiations of BoundSwitchExpressionArm
Microsoft.CodeAnalysis.CSharp (3)
Binder\Binder_Conversions.cs (1)
2003new 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)
4957var result = new BoundSwitchExpressionArm(this.Syntax, locals, pattern, whenClause, value, label, this.HasErrors);
56 references to BoundSwitchExpressionArm
Microsoft.CodeAnalysis.CSharp (56)
Binder\Binder.ValueChecks.cs (1)
5506foreach (var arm in ((BoundSwitchExpression)expr).SwitchArms)
Binder\Binder_Conversions.cs (3)
1993var builder = ArrayBuilder<BoundSwitchExpressionArm>.GetInstance(source.SwitchArms.Length); 1996var oldCase = source.SwitchArms[i]; 2002var 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, 169ImmutableArray<BoundSwitchExpressionArm> switchArms) 174foreach (BoundSwitchExpressionArm arm in switchArms)
Binder\DecisionDagBuilder_CheckOrReachability.cs (3)
98ImmutableArray<BoundSwitchExpressionArm> switchArms, 113ImmutableArray<BoundSwitchExpressionArm> switchArms, 122foreach (var switchArm in switchArms)
Binder\RefSafetyAnalysis.cs (1)
476public 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); 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)
617public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
FlowAnalysis\AbstractFlowPass_Switch.cs (1)
161foreach (var arm in node.SwitchArms)
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
377public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
FlowAnalysis\NullableWalker_Patterns.cs (4)
886foreach (var arm in node.SwitchArms) 920foreach (var arm in node.SwitchArms) 1002var arm = node.SwitchArms[i]; 1046LocalState getStateForArm(BoundSwitchExpressionArm arm, PooledDictionary<LabelSymbol, (LocalState state, bool believedReachable)> labelStateMap)
Generated\BoundNodes.xml.Generated.cs (19)
4904protected BoundSwitchExpression(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false) 4920public ImmutableArray<BoundSwitchExpressionArm> SwitchArms { get; } 4953public BoundSwitchExpressionArm Update(ImmutableArray<LocalSymbol> locals, BoundPattern pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label) 4957var result = new BoundSwitchExpressionArm(this.Syntax, locals, pattern, whenClause, value, label, this.HasErrors); 4967public BoundUnconvertedSwitchExpression(SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false) 4981public BoundUnconvertedSwitchExpression Update(BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type) 4995public BoundConvertedSwitchExpression(SyntaxNode syntax, TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type, bool hasErrors = false) 5015public BoundConvertedSwitchExpression Update(TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type) 9156return VisitSwitchExpressionArm((BoundSwitchExpressionArm)node, arg); 9500public virtual R VisitSwitchExpressionArm(BoundSwitchExpressionArm node, A arg) => this.DefaultVisit(node, arg); 9736public virtual BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) => this.DefaultVisit(node); 10334public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 11679public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 11692ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms); 11701ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms); 13836public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 13848ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms); 13868ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms); 16271public 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); 2698ImmutableArray<ISwitchExpressionArmOperation> arms = CreateFromArray<BoundSwitchExpressionArm, ISwitchExpressionArmOperation>(boundSwitchExpression.SwitchArms); 2721private ISwitchExpressionArmOperation CreateBoundSwitchExpressionArmOperation(BoundSwitchExpressionArm boundSwitchExpressionArm)