1 instantiation of SwitchExpressionSyntax
Microsoft.CodeAnalysis.CSharp (1)
_generated\1\Syntax.xml.Internal.Generated.cs (1)
14473internal 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)
456public virtual TResult? VisitSwitchExpression(SwitchExpressionSyntax node) => this.DefaultVisit(node); 1210public virtual void VisitSwitchExpression(SwitchExpressionSyntax node) => this.DefaultVisit(node); 1963public override SyntaxNode? VisitSwitchExpression(SwitchExpressionSyntax node) 4694public static SwitchExpressionSyntax SwitchExpression(ExpressionSyntax governingExpression, SyntaxToken switchKeyword, SyntaxToken openBraceToken, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms, SyntaxToken closeBraceToken) 4700return (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(); 4704public static SwitchExpressionSyntax SwitchExpression(ExpressionSyntax governingExpression, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms) 4708public static SwitchExpressionSyntax SwitchExpression(ExpressionSyntax governingExpression)
_generated\2\Syntax.xml.Syntax.Generated.cs (8)
8995public SwitchExpressionSyntax Update(ExpressionSyntax governingExpression, SyntaxToken switchKeyword, SyntaxToken openBraceToken, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms, SyntaxToken closeBraceToken) 8999var newNode = SyntaxFactory.SwitchExpression(governingExpression, switchKeyword, openBraceToken, arms, closeBraceToken); 9007public SwitchExpressionSyntax WithGoverningExpression(ExpressionSyntax governingExpression) => Update(governingExpression, this.SwitchKeyword, this.OpenBraceToken, this.Arms, this.CloseBraceToken); 9008public SwitchExpressionSyntax WithSwitchKeyword(SyntaxToken switchKeyword) => Update(this.GoverningExpression, switchKeyword, this.OpenBraceToken, this.Arms, this.CloseBraceToken); 9009public SwitchExpressionSyntax WithOpenBraceToken(SyntaxToken openBraceToken) => Update(this.GoverningExpression, this.SwitchKeyword, openBraceToken, this.Arms, this.CloseBraceToken); 9010public SwitchExpressionSyntax WithArms(SeparatedSyntaxList<SwitchExpressionArmSyntax> arms) => Update(this.GoverningExpression, this.SwitchKeyword, this.OpenBraceToken, arms, this.CloseBraceToken); 9011public SwitchExpressionSyntax WithCloseBraceToken(SyntaxToken closeBraceToken) => Update(this.GoverningExpression, this.SwitchKeyword, this.OpenBraceToken, this.Arms, closeBraceToken); 9013public SwitchExpressionSyntax AddArms(params SwitchExpressionArmSyntax[] items) => WithArms(this.Arms.AddRange(items));
Binder\Binder_Expressions.cs (3)
322var exprSyntax = (SwitchExpressionSyntax)expr.Syntax; 739return BindSwitchExpression((SwitchExpressionSyntax)node, diagnostics);
Binder\Binder_Patterns.cs (2)
200private BoundExpression BindSwitchExpression(SwitchExpressionSyntax node, BindingDiagnosticBag diagnostics) 212SwitchExpressionSyntax node,
Binder\BuckStopsHereBinder.cs (1)
180internal override BoundExpression BindSwitchExpressionCore(SwitchExpressionSyntax node, Binder originalBinder, BindingDiagnosticBag diagnostics)
Binder\ExpressionVariableFinder.cs (1)
68public override void VisitSwitchExpression(SwitchExpressionSyntax node)
Binder\LocalBinderFactory.cs (1)
792public override void VisitSwitchExpression(SwitchExpressionSyntax node)
Binder\SwitchExpressionBinder.cs (5)
18private readonly SwitchExpressionSyntax SwitchExpressionSyntax; 20internal SwitchExpressionBinder(SwitchExpressionSyntax switchExpressionSyntax, Binder next) 26internal override BoundExpression BindSwitchExpressionCore(SwitchExpressionSyntax node, Binder originalBinder, BindingDiagnosticBag diagnostics) 62SwitchExpressionSyntax node, 186private 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)
73var syntax = (SwitchExpressionSyntax)node.Syntax;
Syntax\LambdaUtilities.cs (1)
483return (node is SwitchExpressionSyntax switchExpression) ? switchExpression.SwitchKeyword.SpanStart : node.SpanStart;
Syntax\SyntaxNormalizer.cs (4)
282return currentToken.Parent is EnumDeclarationSyntax or SwitchExpressionSyntax ? 1 : 0; 291case SyntaxKind.SwitchKeyword when currentToken.Parent is SwitchExpressionSyntax: 384if (currentTokenParent is SwitchExpressionSyntax or PropertyPatternClauseSyntax || 693if (next.IsKind(SyntaxKind.SwitchKeyword) && next.Parent is SwitchExpressionSyntax)
Microsoft.CodeAnalysis.CSharp.CodeStyle (11)
src\roslyn\src\Analyzers\CSharp\Analyzers\PopulateSwitch\CSharpPopulateSwitchExpressionDiagnosticAnalyzer.cs (2)
13AbstractPopulateSwitchExpressionDiagnosticAnalyzer<SwitchExpressionSyntax> 15protected override Location GetDiagnosticLocation(SwitchExpressionSyntax switchBlock)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
1014var switchExpression = (SwitchExpressionSyntax)switchExpressionArm.GetRequiredParent();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (1)
109SwitchExpressionSyntax switchExpression => (switchExpression.OpenBraceToken, switchExpression.CloseBraceToken),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
176case SwitchExpressionSyntax switchExpression:
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
903static parentExpression => parentExpression.Parent is SwitchExpressionArmSyntax { Parent: SwitchExpressionSyntax switchExpression }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
158if (parent is MemberDeclarationSyntax or SwitchStatementSyntax or SwitchExpressionSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (3)
483else if (currentOriginalNode is SwitchExpressionSyntax originalSwitchExpression && 486var replacedSwitchExpression = (SwitchExpressionSyntax)currentReplacedNode;
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (6)
src\roslyn\src\Analyzers\CSharp\CodeFixes\PopulateSwitch\CSharpPopulateSwitchExpressionCodeFixProvider.cs (3)
26SwitchExpressionSyntax, 39protected override SwitchExpressionSyntax InsertSwitchArms(SyntaxGenerator generator, SwitchExpressionSyntax switchNode, int insertLocation, List<SwitchExpressionArmSyntax> newArms)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
248SwitchExpressionSyntax switchExpression => InferTypeInSwitchExpression(switchExpression, token), 2150if (arm.Parent is SwitchExpressionSyntax switchExpression) 2178private IEnumerable<TypeInferenceInfo> InferTypeInSwitchExpression(SwitchExpressionSyntax switchExpression, SyntaxToken token)
Microsoft.CodeAnalysis.CSharp.Features (15)
EditAndContinue\BreakpointSpans.cs (1)
304node is SwitchExpressionSyntax switchExpression &&
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (5)
262var switchExpression = (SwitchExpressionSyntax)node; 343private static TextSpan GetActiveSpan(SwitchExpressionSyntax node, SwitchExpressionPart part) 628span = GetActiveSpan((SwitchExpressionSyntax)node, (SwitchExpressionPart)statementPart); 1924return ((SwitchExpressionSyntax)node).SwitchKeyword.Span;
src\roslyn\src\Analyzers\CSharp\Analyzers\PopulateSwitch\CSharpPopulateSwitchExpressionDiagnosticAnalyzer.cs (2)
13AbstractPopulateSwitchExpressionDiagnosticAnalyzer<SwitchExpressionSyntax> 15protected override Location GetDiagnosticLocation(SwitchExpressionSyntax switchBlock)
src\roslyn\src\Analyzers\CSharp\CodeFixes\PopulateSwitch\CSharpPopulateSwitchExpressionCodeFixProvider.cs (3)
26SwitchExpressionSyntax, 39protected override SwitchExpressionSyntax InsertSwitchArms(SyntaxGenerator generator, SwitchExpressionSyntax switchNode, int insertLocation, List<SwitchExpressionArmSyntax> newArms)
src\roslyn\src\Compilers\CSharp\Portable\Syntax\LambdaUtilities.cs (1)
483return (node is SwitchExpressionSyntax switchExpression) ? switchExpression.SwitchKeyword.SpanStart : node.SpanStart;
Structure\CSharpBlockStructureProvider.cs (1)
50builder.Add<SwitchExpressionSyntax, SwitchExpressionStructureProvider>();
Structure\Providers\SwitchExpressionStructureProvider.cs (2)
13internal sealed class SwitchExpressionStructureProvider : AbstractSyntaxNodeStructureProvider<SwitchExpressionSyntax> 17SwitchExpressionSyntax node,
Microsoft.CodeAnalysis.CSharp.Workspaces (12)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
1014var switchExpression = (SwitchExpressionSyntax)switchExpressionArm.GetRequiredParent();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (1)
109SwitchExpressionSyntax switchExpression => (switchExpression.OpenBraceToken, switchExpression.CloseBraceToken),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
176case SwitchExpressionSyntax switchExpression:
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
903static parentExpression => parentExpression.Parent is SwitchExpressionArmSyntax { Parent: SwitchExpressionSyntax switchExpression }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
158if (parent is MemberDeclarationSyntax or SwitchStatementSyntax or SwitchExpressionSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (3)
483else if (currentOriginalNode is SwitchExpressionSyntax originalSwitchExpression && 486var replacedSwitchExpression = (SwitchExpressionSyntax)currentReplacedNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
248SwitchExpressionSyntax switchExpression => InferTypeInSwitchExpression(switchExpression, token), 2150if (arm.Parent is SwitchExpressionSyntax switchExpression) 2178private IEnumerable<TypeInferenceInfo> InferTypeInSwitchExpression(SwitchExpressionSyntax switchExpression, SyntaxToken token)
Roslyn.Diagnostics.CSharp.Analyzers (12)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
1014var switchExpression = (SwitchExpressionSyntax)switchExpressionArm.GetRequiredParent();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (1)
109SwitchExpressionSyntax switchExpression => (switchExpression.OpenBraceToken, switchExpression.CloseBraceToken),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
176case SwitchExpressionSyntax switchExpression:
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
903static parentExpression => parentExpression.Parent is SwitchExpressionArmSyntax { Parent: SwitchExpressionSyntax switchExpression }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
158if (parent is MemberDeclarationSyntax or SwitchStatementSyntax or SwitchExpressionSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (3)
483else if (currentOriginalNode is SwitchExpressionSyntax originalSwitchExpression && 486var replacedSwitchExpression = (SwitchExpressionSyntax)currentReplacedNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
248SwitchExpressionSyntax switchExpression => InferTypeInSwitchExpression(switchExpression, token), 2150if (arm.Parent is SwitchExpressionSyntax switchExpression) 2178private IEnumerable<TypeInferenceInfo> InferTypeInSwitchExpression(SwitchExpressionSyntax switchExpression, SyntaxToken token)