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)
457public virtual TResult? VisitSwitchExpression(SwitchExpressionSyntax node) => this.DefaultVisit(node); 1213public virtual void VisitSwitchExpression(SwitchExpressionSyntax node) => this.DefaultVisit(node); 1968public override SyntaxNode? VisitSwitchExpression(SwitchExpressionSyntax node) 4708public static SwitchExpressionSyntax SwitchExpression(ExpressionSyntax governingExpression, SyntaxToken switchKeyword, SyntaxToken openBraceToken, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms, SyntaxToken closeBraceToken) 4714return (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(); 4718public static SwitchExpressionSyntax SwitchExpression(ExpressionSyntax governingExpression, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms) 4722public static SwitchExpressionSyntax SwitchExpression(ExpressionSyntax governingExpression)
_generated\2\Syntax.xml.Syntax.Generated.cs (8)
9003public SwitchExpressionSyntax Update(ExpressionSyntax governingExpression, SyntaxToken switchKeyword, SyntaxToken openBraceToken, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms, SyntaxToken closeBraceToken) 9007var newNode = SyntaxFactory.SwitchExpression(governingExpression, switchKeyword, openBraceToken, arms, closeBraceToken); 9015public SwitchExpressionSyntax WithGoverningExpression(ExpressionSyntax governingExpression) => Update(governingExpression, this.SwitchKeyword, this.OpenBraceToken, this.Arms, this.CloseBraceToken); 9016public SwitchExpressionSyntax WithSwitchKeyword(SyntaxToken switchKeyword) => Update(this.GoverningExpression, switchKeyword, this.OpenBraceToken, this.Arms, this.CloseBraceToken); 9017public SwitchExpressionSyntax WithOpenBraceToken(SyntaxToken openBraceToken) => Update(this.GoverningExpression, this.SwitchKeyword, openBraceToken, this.Arms, this.CloseBraceToken); 9018public SwitchExpressionSyntax WithArms(SeparatedSyntaxList<SwitchExpressionArmSyntax> arms) => Update(this.GoverningExpression, this.SwitchKeyword, this.OpenBraceToken, arms, this.CloseBraceToken); 9019public SwitchExpressionSyntax WithCloseBraceToken(SyntaxToken closeBraceToken) => Update(this.GoverningExpression, this.SwitchKeyword, this.OpenBraceToken, this.Arms, closeBraceToken); 9021public 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)
197private BoundExpression BindSwitchExpression(SwitchExpressionSyntax node, BindingDiagnosticBag diagnostics) 209SwitchExpressionSyntax 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)
888static 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)
888static 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)
888static 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)