95 references to Arms
Microsoft.CodeAnalysis.CSharp (9)
Binder\LocalBinderFactory.cs (1)
783foreach (SwitchExpressionArmSyntax arm in node.Arms)
Binder\SwitchExpressionBinder.cs (1)
179foreach (var arm in node.Arms)
Syntax.xml.Main.Generated.cs (1)
1936=> node.Update((ExpressionSyntax?)Visit(node.GoverningExpression) ?? throw new ArgumentNullException("governingExpression"), VisitToken(node.SwitchKeyword), VisitToken(node.OpenBraceToken), VisitList(node.Arms), VisitToken(node.CloseBraceToken));
Syntax.xml.Syntax.Generated.cs (6)
8865if (governingExpression != this.GoverningExpression || switchKeyword != this.SwitchKeyword || openBraceToken != this.OpenBraceToken || arms != this.Arms || closeBraceToken != this.CloseBraceToken) 8875public SwitchExpressionSyntax WithGoverningExpression(ExpressionSyntax governingExpression) => Update(governingExpression, this.SwitchKeyword, this.OpenBraceToken, this.Arms, this.CloseBraceToken); 8876public SwitchExpressionSyntax WithSwitchKeyword(SyntaxToken switchKeyword) => Update(this.GoverningExpression, switchKeyword, this.OpenBraceToken, this.Arms, this.CloseBraceToken); 8877public SwitchExpressionSyntax WithOpenBraceToken(SyntaxToken openBraceToken) => Update(this.GoverningExpression, this.SwitchKeyword, openBraceToken, this.Arms, this.CloseBraceToken); 8879public SwitchExpressionSyntax WithCloseBraceToken(SyntaxToken closeBraceToken) => Update(this.GoverningExpression, this.SwitchKeyword, this.OpenBraceToken, this.Arms, closeBraceToken); 8881public SwitchExpressionSyntax AddArms(params SwitchExpressionArmSyntax[] items) => WithArms(this.Arms.AddRange(items));
Microsoft.CodeAnalysis.CSharp.CodeStyle (7)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
1017foreach (var arm in switchExpression.Arms)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (6)
874static switchExpression => switchExpression.Arms.SelectAsArray(a => a.Expression), 877if (switchExpression.Arms.Count < 2) 880var arm = switchExpression.Arms.Single(a => a.Expression == armExpression); 881var armIndex = switchExpression.Arms.IndexOf(arm); 883? switchExpression.Arms[1].Expression 884: switchExpression.Arms[armIndex - 1].Expression;
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (8)
src\Analyzers\CSharp\CodeFixes\PopulateSwitch\CSharpPopulateSwitchExpressionCodeFixProvider.cs (4)
43if (switchNode.Arms.Count == 0 || 44!switchNode.Arms.GetWithSeparators().LastOrDefault().IsNode) 46return switchNode.WithArms(switchNode.Arms.InsertRangeWithTrailingSeparator( 50return switchNode.WithArms(switchNode.Arms.InsertRange(insertLocation, newArms));
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (4)
2075var armIndex = switchExpression.Arms.IndexOf(arm); 2078var previousArm = switchExpression.Arms[armIndex - 1]; 2084if (armIndex < switchExpression.Arms.Count - 1) 2086var nextArm = switchExpression.Arms[armIndex + 1];
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (39)
Semantics\PatternMatchingTests2.cs (39)
2889checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2890checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2891checkType(expr.Arms[2].Expression, null, "C", ConversionKind.ImplicitThrow); 2895checkType(expr.Arms[0].Expression, "A", "?", ConversionKind.NoConversion); 2896checkType(expr.Arms[1].Expression, "B", "?", ConversionKind.NoConversion); 2897checkType(expr.Arms[2].Expression, null, "?", ConversionKind.ImplicitThrow); 2901checkType(expr.Arms[0].Expression, "A", "D", ConversionKind.ImplicitUserDefined); 2902checkType(expr.Arms[1].Expression, "B", "D", ConversionKind.ImplicitUserDefined); 2903checkType(expr.Arms[2].Expression, null, "D", ConversionKind.ImplicitThrow); 2907checkType(expr.Arms[0].Expression, "E", "?", ConversionKind.NoConversion); 2908checkType(expr.Arms[1].Expression, "F", "?", ConversionKind.NoConversion); 2909checkType(expr.Arms[2].Expression, null, "?", ConversionKind.ImplicitThrow); 2914checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2915checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2916checkType(expr.Arms[2].Expression, "C", "C", ConversionKind.Identity); 2917checkType(expr.Arms[3].Expression, null, "C", ConversionKind.ImplicitThrow); 2921checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2922checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2923checkType(expr.Arms[2].Expression, "C", "C", ConversionKind.Identity); 2924checkType(expr.Arms[3].Expression, null, "C", ConversionKind.ImplicitThrow); 2928checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2929checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2930checkType(expr.Arms[2].Expression, "C", "C", ConversionKind.Identity); 2931checkType(expr.Arms[3].Expression, null, "C", ConversionKind.ImplicitThrow); 2935checkType(expr.Arms[0].Expression, "System.Int32", "D", ConversionKind.ImplicitUserDefined); 2936checkType(expr.Arms[1].Expression, "System.Int32", "D", ConversionKind.ImplicitUserDefined); 2937checkType(expr.Arms[2].Expression, null, "D", ConversionKind.ImplicitThrow); 2941checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2942checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2943checkType(expr.Arms[2].Expression, null, "C", ConversionKind.ImplicitThrow); 2948checkType(expr.Arms[0].Expression, "A", "D", ConversionKind.ImplicitUserDefined); 2949checkType(expr.Arms[1].Expression, "B", "D", ConversionKind.ImplicitUserDefined); 2950checkType(expr.Arms[2].Expression, null, "D", ConversionKind.ImplicitThrow); 2955checkType(expr.Arms[0].Expression, "E", "?", ConversionKind.NoConversion); 2956checkType(expr.Arms[1].Expression, "F", "?", ConversionKind.NoConversion); 2957checkType(expr.Arms[2].Expression, null, "?", ConversionKind.ImplicitThrow); 2962checkType(expr.Arms[0].Expression, "System.Int32", "D", ConversionKind.ImplicitUserDefined); 2963checkType(expr.Arms[1].Expression, "System.Int32", "D", ConversionKind.ImplicitUserDefined); 2964checkType(expr.Arms[2].Expression, null, "D", ConversionKind.ImplicitThrow);
Microsoft.CodeAnalysis.CSharp.Features (7)
EditAndContinue\BreakpointSpans.cs (3)
305switchExpression.Arms.Count > 0 && 309switchArm = switchExpression.Arms.LastOrDefault(arm => position >= arm.FullSpan.Start) ?? switchExpression.Arms.First();
src\Analyzers\CSharp\CodeFixes\PopulateSwitch\CSharpPopulateSwitchExpressionCodeFixProvider.cs (4)
43if (switchNode.Arms.Count == 0 || 44!switchNode.Arms.GetWithSeparators().LastOrDefault().IsNode) 46return switchNode.WithArms(switchNode.Arms.InsertRangeWithTrailingSeparator( 50return switchNode.WithArms(switchNode.Arms.InsertRange(insertLocation, newArms));
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (2)
Generated\Syntax.Test.xml.Generated.cs (2)
12863Assert.Equal(default, node.Arms); 12865var newNode = node.WithGoverningExpression(node.GoverningExpression).WithSwitchKeyword(node.SwitchKeyword).WithOpenBraceToken(node.OpenBraceToken).WithArms(node.Arms).WithCloseBraceToken(node.CloseBraceToken);
Microsoft.CodeAnalysis.CSharp.Workspaces (11)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
1017foreach (var arm in switchExpression.Arms)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (6)
874static switchExpression => switchExpression.Arms.SelectAsArray(a => a.Expression), 877if (switchExpression.Arms.Count < 2) 880var arm = switchExpression.Arms.Single(a => a.Expression == armExpression); 881var armIndex = switchExpression.Arms.IndexOf(arm); 883? switchExpression.Arms[1].Expression 884: switchExpression.Arms[armIndex - 1].Expression;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (4)
2075var armIndex = switchExpression.Arms.IndexOf(arm); 2078var previousArm = switchExpression.Arms[armIndex - 1]; 2084if (armIndex < switchExpression.Arms.Count - 1) 2086var nextArm = switchExpression.Arms[armIndex + 1];
Microsoft.CodeAnalysis.Test.Utilities (1)
Compilation\ControlFlowGraphVerifier.cs (1)
597return reference.Syntax is CSharp.Syntax.SwitchExpressionSyntax switchExpr && switchExpr.Arms.Count == 0;
Roslyn.Diagnostics.CSharp.Analyzers (11)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
1017foreach (var arm in switchExpression.Arms)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (6)
874static switchExpression => switchExpression.Arms.SelectAsArray(a => a.Expression), 877if (switchExpression.Arms.Count < 2) 880var arm = switchExpression.Arms.Single(a => a.Expression == armExpression); 881var armIndex = switchExpression.Arms.IndexOf(arm); 883? switchExpression.Arms[1].Expression 884: switchExpression.Arms[armIndex - 1].Expression;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (4)
2075var armIndex = switchExpression.Arms.IndexOf(arm); 2078var previousArm = switchExpression.Arms[armIndex - 1]; 2084if (armIndex < switchExpression.Arms.Count - 1) 2086var nextArm = switchExpression.Arms[armIndex + 1];