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);
1200
public virtual void VisitSwitchExpression(
SwitchExpressionSyntax
node) => this.DefaultVisit(node);
1947
public override SyntaxNode? VisitSwitchExpression(
SwitchExpressionSyntax
node)
4657
public static
SwitchExpressionSyntax
SwitchExpression(ExpressionSyntax governingExpression, SyntaxToken switchKeyword, SyntaxToken openBraceToken, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms, SyntaxToken closeBraceToken)
4663
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();
4667
public static
SwitchExpressionSyntax
SwitchExpression(ExpressionSyntax governingExpression, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms)
4671
public static
SwitchExpressionSyntax
SwitchExpression(ExpressionSyntax governingExpression)
_generated\2\Syntax.xml.Syntax.Generated.cs (8)
8909
public
SwitchExpressionSyntax
Update(ExpressionSyntax governingExpression, SyntaxToken switchKeyword, SyntaxToken openBraceToken, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms, SyntaxToken closeBraceToken)
8913
var
newNode = SyntaxFactory.SwitchExpression(governingExpression, switchKeyword, openBraceToken, arms, closeBraceToken);
8921
public
SwitchExpressionSyntax
WithGoverningExpression(ExpressionSyntax governingExpression) => Update(governingExpression, this.SwitchKeyword, this.OpenBraceToken, this.Arms, this.CloseBraceToken);
8922
public
SwitchExpressionSyntax
WithSwitchKeyword(SyntaxToken switchKeyword) => Update(this.GoverningExpression, switchKeyword, this.OpenBraceToken, this.Arms, this.CloseBraceToken);
8923
public
SwitchExpressionSyntax
WithOpenBraceToken(SyntaxToken openBraceToken) => Update(this.GoverningExpression, this.SwitchKeyword, openBraceToken, this.Arms, this.CloseBraceToken);
8924
public
SwitchExpressionSyntax
WithArms(SeparatedSyntaxList<SwitchExpressionArmSyntax> arms) => Update(this.GoverningExpression, this.SwitchKeyword, this.OpenBraceToken, arms, this.CloseBraceToken);
8925
public
SwitchExpressionSyntax
WithCloseBraceToken(SyntaxToken closeBraceToken) => Update(this.GoverningExpression, this.SwitchKeyword, this.OpenBraceToken, this.Arms, closeBraceToken);
8927
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)
341
private BoundExpression BindSwitchExpression(
SwitchExpressionSyntax
node, BindingDiagnosticBag diagnostics)
353
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)
1007
((
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)