1 instantiation of SwitchExpressionSyntax
Microsoft.CodeAnalysis.CSharp (1)
_generated\1\Syntax.xml.Internal.Generated.cs (1)
14338
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)
452
public virtual TResult? VisitSwitchExpression(
SwitchExpressionSyntax
node) => this.DefaultVisit(node);
1204
public virtual void VisitSwitchExpression(
SwitchExpressionSyntax
node) => this.DefaultVisit(node);
1955
public override SyntaxNode? VisitSwitchExpression(
SwitchExpressionSyntax
node)
4669
public static
SwitchExpressionSyntax
SwitchExpression(ExpressionSyntax governingExpression, SyntaxToken switchKeyword, SyntaxToken openBraceToken, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms, SyntaxToken closeBraceToken)
4675
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();
4679
public static
SwitchExpressionSyntax
SwitchExpression(ExpressionSyntax governingExpression, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms)
4683
public static
SwitchExpressionSyntax
SwitchExpression(ExpressionSyntax governingExpression)
_generated\2\Syntax.xml.Syntax.Generated.cs (8)
8910
public
SwitchExpressionSyntax
Update(ExpressionSyntax governingExpression, SyntaxToken switchKeyword, SyntaxToken openBraceToken, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms, SyntaxToken closeBraceToken)
8914
var
newNode = SyntaxFactory.SwitchExpression(governingExpression, switchKeyword, openBraceToken, arms, closeBraceToken);
8922
public
SwitchExpressionSyntax
WithGoverningExpression(ExpressionSyntax governingExpression) => Update(governingExpression, this.SwitchKeyword, this.OpenBraceToken, this.Arms, this.CloseBraceToken);
8923
public
SwitchExpressionSyntax
WithSwitchKeyword(SyntaxToken switchKeyword) => Update(this.GoverningExpression, switchKeyword, this.OpenBraceToken, this.Arms, this.CloseBraceToken);
8924
public
SwitchExpressionSyntax
WithOpenBraceToken(SyntaxToken openBraceToken) => Update(this.GoverningExpression, this.SwitchKeyword, openBraceToken, this.Arms, this.CloseBraceToken);
8925
public
SwitchExpressionSyntax
WithArms(SeparatedSyntaxList<SwitchExpressionArmSyntax> arms) => Update(this.GoverningExpression, this.SwitchKeyword, this.OpenBraceToken, arms, this.CloseBraceToken);
8926
public
SwitchExpressionSyntax
WithCloseBraceToken(SyntaxToken closeBraceToken) => Update(this.GoverningExpression, this.SwitchKeyword, this.OpenBraceToken, this.Arms, closeBraceToken);
8928
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)
581
private BoundExpression BindSwitchExpression(
SwitchExpressionSyntax
node, BindingDiagnosticBag diagnostics)
593
SwitchExpressionSyntax
node,
Binder\BuckStopsHereBinder.cs (1)
192
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)
778
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)
1009
((
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)