3 instantiations of BoundSwitchExpressionArm
Microsoft.CodeAnalysis.CSharp (3)
Binder\Binder_Conversions.cs (1)
2507new BoundSwitchExpressionArm(oldCase.Syntax, oldCase.Locals, oldCase.Pattern, oldCase.HasUnionMatching, oldCase.WhenClause, newValue, oldCase.Label, oldCase.HasErrors);
Binder\SwitchExpressionArmBinder.cs (1)
50return new BoundSwitchExpressionArm(node, locals, pattern, hasUnionMatching, whenClause, armResult, label, hasErrors | pattern.HasErrors);
Generated\BoundNodes.xml.Generated.cs (1)
4973var result = new BoundSwitchExpressionArm(this.Syntax, locals, pattern, hasUnionMatching, whenClause, value, label, this.HasErrors);
57 references to BoundSwitchExpressionArm
Microsoft.CodeAnalysis.CSharp (57)
Binder\Binder_Conversions.cs (3)
2497var builder = ArrayBuilder<BoundSwitchExpressionArm>.GetInstance(source.SwitchArms.Length); 2500var oldCase = source.SwitchArms[i]; 2506var newCase = (oldValue == newValue) ? oldCase :
Binder\Binder_Expressions.cs (1)
885internal virtual BoundSwitchExpressionArm BindSwitchExpressionArm(SwitchExpressionArmSyntax node, TypeSymbol switchGoverningType, BindingDiagnosticBag diagnostics)
Binder\Binder_Statements.cs (1)
2440foreach (var arm in switchExpression.SwitchArms)
Binder\Binder.ValueChecks.cs (1)
5558foreach (var arm in ((BoundSwitchExpression)expr).SwitchArms)
Binder\BuckStopsHereBinder.cs (1)
192internal override BoundSwitchExpressionArm BindSwitchExpressionArm(SwitchExpressionArmSyntax node, TypeSymbol switchGoverningType, BindingDiagnosticBag diagnostics)
Binder\DecisionDagBuilder_CheckOrReachability.cs (4)
139ImmutableArray<BoundSwitchExpressionArm> switchArms, 159ImmutableArray<BoundSwitchExpressionArm> switchArms, 168foreach (var switchArm in switchArms) 180BoundSwitchExpressionArm switchArm = switchArms[patternIndex];
Binder\DecisionDagBuilder.cs (3)
101ImmutableArray<BoundSwitchExpressionArm> switchArms, 171ImmutableArray<BoundSwitchExpressionArm> switchArms) 176foreach (BoundSwitchExpressionArm arm in switchArms)
Binder\RefSafetyAnalysis.cs (1)
482public 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_Patterns.cs (4)
1073foreach (var arm in node.SwitchArms) 1112foreach (var arm in node.SwitchArms) 1194var arm = node.SwitchArms[i]; 1238LocalState getStateForArm(BoundSwitchExpressionArm arm, PooledDictionary<LabelSymbol, (LocalState state, bool believedReachable)> labelStateMap)
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
417public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
Generated\BoundNodes.xml.Generated.cs (19)
4918protected BoundSwitchExpression(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false) 4934public ImmutableArray<BoundSwitchExpressionArm> SwitchArms { get; } 4969public BoundSwitchExpressionArm Update(ImmutableArray<LocalSymbol> locals, BoundPattern pattern, bool hasUnionMatching, BoundExpression? whenClause, BoundExpression value, LabelSymbol label) 4973var result = new BoundSwitchExpressionArm(this.Syntax, locals, pattern, hasUnionMatching, whenClause, value, label, this.HasErrors); 4983public BoundUnconvertedSwitchExpression(SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false) 4997public BoundUnconvertedSwitchExpression Update(BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type) 5011public BoundConvertedSwitchExpression(SyntaxNode syntax, TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type, bool hasErrors = false) 5031public BoundConvertedSwitchExpression Update(TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type) 9337return VisitSwitchExpressionArm((BoundSwitchExpressionArm)node, arg); 9690public virtual R VisitSwitchExpressionArm(BoundSwitchExpressionArm node, A arg) => this.DefaultVisit(node, arg); 9931public virtual BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) => this.DefaultVisit(node); 10546public 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); 14127public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 14139ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms); 14159ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms); 16602public 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)