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