1 instantiation of SwitchExpressionSyntax
Microsoft.CodeAnalysis.CSharp (1)
_generated\1\Syntax.xml.Internal.Generated.cs (1)
14473
internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.
SwitchExpressionSyntax
(this, parent, position);
92 references to SwitchExpressionSyntax
Microsoft.CodeAnalysis.CSharp (36)
_generated\0\Syntax.xml.Main.Generated.cs (7)
456
public virtual TResult? VisitSwitchExpression(
SwitchExpressionSyntax
node) => this.DefaultVisit(node);
1212
public virtual void VisitSwitchExpression(
SwitchExpressionSyntax
node) => this.DefaultVisit(node);
1967
public override SyntaxNode? VisitSwitchExpression(
SwitchExpressionSyntax
node)
4707
public static
SwitchExpressionSyntax
SwitchExpression(ExpressionSyntax governingExpression, SyntaxToken switchKeyword, SyntaxToken openBraceToken, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms, SyntaxToken closeBraceToken)
4713
return (
SwitchExpressionSyntax
)Syntax.InternalSyntax.SyntaxFactory.SwitchExpression((Syntax.InternalSyntax.ExpressionSyntax)governingExpression.Green, (Syntax.InternalSyntax.SyntaxToken)switchKeyword.Node!, (Syntax.InternalSyntax.SyntaxToken)openBraceToken.Node!, arms.Node.ToGreenSeparatedList<Syntax.InternalSyntax.SwitchExpressionArmSyntax>(), (Syntax.InternalSyntax.SyntaxToken)closeBraceToken.Node!).CreateRed();
4717
public static
SwitchExpressionSyntax
SwitchExpression(ExpressionSyntax governingExpression, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms)
4721
public static
SwitchExpressionSyntax
SwitchExpression(ExpressionSyntax governingExpression)
_generated\2\Syntax.xml.Syntax.Generated.cs (8)
9003
public
SwitchExpressionSyntax
Update(ExpressionSyntax governingExpression, SyntaxToken switchKeyword, SyntaxToken openBraceToken, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms, SyntaxToken closeBraceToken)
9007
var
newNode = SyntaxFactory.SwitchExpression(governingExpression, switchKeyword, openBraceToken, arms, closeBraceToken);
9015
public
SwitchExpressionSyntax
WithGoverningExpression(ExpressionSyntax governingExpression) => Update(governingExpression, this.SwitchKeyword, this.OpenBraceToken, this.Arms, this.CloseBraceToken);
9016
public
SwitchExpressionSyntax
WithSwitchKeyword(SyntaxToken switchKeyword) => Update(this.GoverningExpression, switchKeyword, this.OpenBraceToken, this.Arms, this.CloseBraceToken);
9017
public
SwitchExpressionSyntax
WithOpenBraceToken(SyntaxToken openBraceToken) => Update(this.GoverningExpression, this.SwitchKeyword, openBraceToken, this.Arms, this.CloseBraceToken);
9018
public
SwitchExpressionSyntax
WithArms(SeparatedSyntaxList<SwitchExpressionArmSyntax> arms) => Update(this.GoverningExpression, this.SwitchKeyword, this.OpenBraceToken, arms, this.CloseBraceToken);
9019
public
SwitchExpressionSyntax
WithCloseBraceToken(SyntaxToken closeBraceToken) => Update(this.GoverningExpression, this.SwitchKeyword, this.OpenBraceToken, this.Arms, closeBraceToken);
9021
public
SwitchExpressionSyntax
AddArms(params SwitchExpressionArmSyntax[] items) => WithArms(this.Arms.AddRange(items));
Binder\Binder_Expressions.cs (3)
322
var
exprSyntax = (
SwitchExpressionSyntax
)expr.Syntax;
739
return BindSwitchExpression((
SwitchExpressionSyntax
)node, diagnostics);
Binder\Binder_Patterns.cs (2)
673
private BoundExpression BindSwitchExpression(
SwitchExpressionSyntax
node, BindingDiagnosticBag diagnostics)
685
SwitchExpressionSyntax
node,
Binder\BuckStopsHereBinder.cs (1)
180
internal override BoundExpression BindSwitchExpressionCore(
SwitchExpressionSyntax
node, Binder originalBinder, BindingDiagnosticBag diagnostics)
Binder\ExpressionVariableFinder.cs (1)
68
public override void VisitSwitchExpression(
SwitchExpressionSyntax
node)
Binder\LocalBinderFactory.cs (1)
792
public override void VisitSwitchExpression(
SwitchExpressionSyntax
node)
Binder\SwitchExpressionBinder.cs (5)
18
private readonly
SwitchExpressionSyntax
SwitchExpressionSyntax;
20
internal SwitchExpressionBinder(
SwitchExpressionSyntax
switchExpressionSyntax, Binder next)
26
internal override BoundExpression BindSwitchExpressionCore(
SwitchExpressionSyntax
node, Binder originalBinder, BindingDiagnosticBag diagnostics)
62
SwitchExpressionSyntax
node,
186
private ImmutableArray<BoundSwitchExpressionArm> BindSwitchExpressionArms(
SwitchExpressionSyntax
node, Binder originalBinder, BoundExpression inputExpression, BindingDiagnosticBag diagnostics)
FlowAnalysis\NullableWalker_Patterns.cs (1)
1099
((
SwitchExpressionSyntax
)node.Syntax).SwitchKeyword.GetLocation(),
Lowering\LocalRewriter\LocalRewriter_SwitchExpression.cs (2)
73
var
syntax = (
SwitchExpressionSyntax
)node.Syntax;
Syntax\LambdaUtilities.cs (1)
483
return (node is
SwitchExpressionSyntax
switchExpression) ? switchExpression.SwitchKeyword.SpanStart : node.SpanStart;
Syntax\SyntaxNormalizer.cs (4)
282
return currentToken.Parent is EnumDeclarationSyntax or
SwitchExpressionSyntax
? 1 : 0;
291
case SyntaxKind.SwitchKeyword when currentToken.Parent is
SwitchExpressionSyntax
:
384
if (currentTokenParent is
SwitchExpressionSyntax
or PropertyPatternClauseSyntax ||
693
if (next.IsKind(SyntaxKind.SwitchKeyword) && next.Parent is
SwitchExpressionSyntax
)
Microsoft.CodeAnalysis.CSharp.CodeStyle (11)
src\roslyn\src\Analyzers\CSharp\Analyzers\PopulateSwitch\CSharpPopulateSwitchExpressionDiagnosticAnalyzer.cs (2)
13
AbstractPopulateSwitchExpressionDiagnosticAnalyzer<
SwitchExpressionSyntax
>
15
protected override Location GetDiagnosticLocation(
SwitchExpressionSyntax
switchBlock)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
1014
var
switchExpression = (
SwitchExpressionSyntax
)switchExpressionArm.GetRequiredParent();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (1)
109
SwitchExpressionSyntax
switchExpression => (switchExpression.OpenBraceToken, switchExpression.CloseBraceToken),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
176
case
SwitchExpressionSyntax
switchExpression:
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
888
static parentExpression => parentExpression.Parent is SwitchExpressionArmSyntax { Parent:
SwitchExpressionSyntax
switchExpression }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
158
if (parent is MemberDeclarationSyntax or SwitchStatementSyntax or
SwitchExpressionSyntax
)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (3)
483
else if (currentOriginalNode is
SwitchExpressionSyntax
originalSwitchExpression &&
486
var
replacedSwitchExpression = (
SwitchExpressionSyntax
)currentReplacedNode;
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (6)
src\roslyn\src\Analyzers\CSharp\CodeFixes\PopulateSwitch\CSharpPopulateSwitchExpressionCodeFixProvider.cs (3)
26
SwitchExpressionSyntax
,
39
protected override
SwitchExpressionSyntax
InsertSwitchArms(SyntaxGenerator generator,
SwitchExpressionSyntax
switchNode, int insertLocation, List<SwitchExpressionArmSyntax> newArms)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
248
SwitchExpressionSyntax
switchExpression => InferTypeInSwitchExpression(switchExpression, token),
2150
if (arm.Parent is
SwitchExpressionSyntax
switchExpression)
2178
private IEnumerable<TypeInferenceInfo> InferTypeInSwitchExpression(
SwitchExpressionSyntax
switchExpression, SyntaxToken token)
Microsoft.CodeAnalysis.CSharp.Features (15)
EditAndContinue\BreakpointSpans.cs (1)
304
node is
SwitchExpressionSyntax
switchExpression &&
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (5)
262
var
switchExpression = (
SwitchExpressionSyntax
)node;
343
private static TextSpan GetActiveSpan(
SwitchExpressionSyntax
node, SwitchExpressionPart part)
628
span = GetActiveSpan((
SwitchExpressionSyntax
)node, (SwitchExpressionPart)statementPart);
1924
return ((
SwitchExpressionSyntax
)node).SwitchKeyword.Span;
src\roslyn\src\Analyzers\CSharp\Analyzers\PopulateSwitch\CSharpPopulateSwitchExpressionDiagnosticAnalyzer.cs (2)
13
AbstractPopulateSwitchExpressionDiagnosticAnalyzer<
SwitchExpressionSyntax
>
15
protected override Location GetDiagnosticLocation(
SwitchExpressionSyntax
switchBlock)
src\roslyn\src\Analyzers\CSharp\CodeFixes\PopulateSwitch\CSharpPopulateSwitchExpressionCodeFixProvider.cs (3)
26
SwitchExpressionSyntax
,
39
protected override
SwitchExpressionSyntax
InsertSwitchArms(SyntaxGenerator generator,
SwitchExpressionSyntax
switchNode, int insertLocation, List<SwitchExpressionArmSyntax> newArms)
src\roslyn\src\Compilers\CSharp\Portable\Syntax\LambdaUtilities.cs (1)
483
return (node is
SwitchExpressionSyntax
switchExpression) ? switchExpression.SwitchKeyword.SpanStart : node.SpanStart;
Structure\CSharpBlockStructureProvider.cs (1)
50
builder.Add<
SwitchExpressionSyntax
, SwitchExpressionStructureProvider>();
Structure\Providers\SwitchExpressionStructureProvider.cs (2)
13
internal sealed class SwitchExpressionStructureProvider : AbstractSyntaxNodeStructureProvider<
SwitchExpressionSyntax
>
17
SwitchExpressionSyntax
node,
Microsoft.CodeAnalysis.CSharp.Workspaces (12)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
1014
var
switchExpression = (
SwitchExpressionSyntax
)switchExpressionArm.GetRequiredParent();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (1)
109
SwitchExpressionSyntax
switchExpression => (switchExpression.OpenBraceToken, switchExpression.CloseBraceToken),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
176
case
SwitchExpressionSyntax
switchExpression:
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
888
static parentExpression => parentExpression.Parent is SwitchExpressionArmSyntax { Parent:
SwitchExpressionSyntax
switchExpression }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
158
if (parent is MemberDeclarationSyntax or SwitchStatementSyntax or
SwitchExpressionSyntax
)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (3)
483
else if (currentOriginalNode is
SwitchExpressionSyntax
originalSwitchExpression &&
486
var
replacedSwitchExpression = (
SwitchExpressionSyntax
)currentReplacedNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
248
SwitchExpressionSyntax
switchExpression => InferTypeInSwitchExpression(switchExpression, token),
2150
if (arm.Parent is
SwitchExpressionSyntax
switchExpression)
2178
private IEnumerable<TypeInferenceInfo> InferTypeInSwitchExpression(
SwitchExpressionSyntax
switchExpression, SyntaxToken token)
Roslyn.Diagnostics.CSharp.Analyzers (12)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
1014
var
switchExpression = (
SwitchExpressionSyntax
)switchExpressionArm.GetRequiredParent();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (1)
109
SwitchExpressionSyntax
switchExpression => (switchExpression.OpenBraceToken, switchExpression.CloseBraceToken),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
176
case
SwitchExpressionSyntax
switchExpression:
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
888
static parentExpression => parentExpression.Parent is SwitchExpressionArmSyntax { Parent:
SwitchExpressionSyntax
switchExpression }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
158
if (parent is MemberDeclarationSyntax or SwitchStatementSyntax or
SwitchExpressionSyntax
)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (3)
483
else if (currentOriginalNode is
SwitchExpressionSyntax
originalSwitchExpression &&
486
var
replacedSwitchExpression = (
SwitchExpressionSyntax
)currentReplacedNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
248
SwitchExpressionSyntax
switchExpression => InferTypeInSwitchExpression(switchExpression, token),
2150
if (arm.Parent is
SwitchExpressionSyntax
switchExpression)
2178
private IEnumerable<TypeInferenceInfo> InferTypeInSwitchExpression(
SwitchExpressionSyntax
switchExpression, SyntaxToken token)