205 references to SwitchStatementSyntax
Microsoft.CodeAnalysis.CSharp (28)
Binder\Binder_Statements.cs (5)
78result = BindSwitchStatement((SwitchStatementSyntax)node, diagnostics); 349var switchStatement = (SwitchStatementSyntax)node; 2637private BoundStatement BindSwitchStatement(SwitchStatementSyntax node, BindingDiagnosticBag diagnostics) 2644internal virtual BoundStatement BindSwitchStatementCore(SwitchStatementSyntax node, Binder originalBinder, BindingDiagnosticBag diagnostics)
Binder\BuckStopsHereBinder.cs (1)
186internal override BoundStatement BindSwitchStatementCore(SwitchStatementSyntax node, Binder originalBinder, BindingDiagnosticBag diagnostics)
Binder\ExpressionVariableFinder.cs (1)
217public override void VisitSwitchStatement(SwitchStatementSyntax node)
Binder\LocalBinderFactory.cs (3)
681public override void VisitSwitchStatement(SwitchStatementSyntax node) 963var switchStatement = (SwitchStatementSyntax)statement;
Binder\LocalScopeBinder.cs (2)
234var switchStatement = (SwitchStatementSyntax)innerStatement;
Binder\SwitchBinder.cs (2)
21protected readonly SwitchStatementSyntax SwitchSyntax; 27private SwitchBinder(Binder next, SwitchStatementSyntax switchSyntax)
Binder\SwitchBinder_Patterns.cs (2)
21internal static SwitchBinder Create(Binder next, SwitchStatementSyntax switchSyntax) 29internal override BoundStatement BindSwitchStatementCore(SwitchStatementSyntax node, Binder originalBinder, BindingDiagnosticBag diagnostics)
Compilation\MemberSemanticModel.cs (2)
380var switchStmt = (SwitchStatementSyntax)stmt;
FlowAnalysis\AbstractFlowPass_Switch.cs (1)
106foreach (var sectionSyntax in ((SwitchStatementSyntax)node.Syntax).Sections)
Lowering\Instrumentation\DebugInfoInjector.cs (2)
372SwitchStatementSyntax switchSyntax = (SwitchStatementSyntax)original.Syntax;
Syntax\LookupPosition.cs (2)
351return ((SwitchStatementSyntax)statement).Expression.GetFirstToken(); 416return ((SwitchStatementSyntax)statement).CloseBraceToken;
Syntax\SwitchStatementSyntax.cs (2)
11public SwitchStatementSyntax Update(SyntaxToken switchKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, SyntaxToken openBraceToken, SyntaxList<SwitchSectionSyntax> sections, SyntaxToken closeBraceToken) 20public static SwitchStatementSyntax SwitchStatement(SyntaxToken switchKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, SyntaxToken openBraceToken, SyntaxList<SwitchSectionSyntax> sections, SyntaxToken closeBraceToken)
Syntax\SyntaxFactory.cs (2)
2709public static SwitchStatementSyntax SwitchStatement(ExpressionSyntax expression, SyntaxList<SwitchSectionSyntax> sections) 2726public static SwitchStatementSyntax SwitchStatement(ExpressionSyntax expression)
Syntax\SyntaxNodeExtensions.cs (1)
124return ((SwitchStatementSyntax)parent).Expression == expression;
Microsoft.CodeAnalysis.CSharp.CodeStyle (22)
ConvertSwitchStatementToExpressionDiagnosticAnalyzer.Analyzer.cs (4)
32SwitchStatementSyntax node, 104public override SyntaxKind VisitSwitchStatement(SwitchStatementSyntax node) 107private SyntaxKind AnalyzeSwitchStatement(SwitchStatementSyntax switchStatement, out bool shouldRemoveNextStatement) 176private SyntaxKind AnalyzeNextStatement(SwitchStatementSyntax switchStatement, out bool shouldRemoveNextStatement)
ConvertSwitchStatementToExpressionDiagnosticAnalyzer.cs (1)
57(SwitchStatementSyntax)switchStatement,
CSharpConsecutiveStatementPlacementDiagnosticAnalyzer.cs (1)
41=> node is BlockSyntax or SwitchStatementSyntax;
CSharpPopulateSwitchStatementDiagnosticAnalyzer.cs (1)
13AbstractPopulateSwitchStatementDiagnosticAnalyzer<SwitchStatementSyntax>
FormattingHelpers.cs (1)
292SwitchStatementSyntax switchStatement => switchStatement.CloseParenToken.Equals(token),
FormattingRangeHelper.cs (1)
178if (parent is MemberDeclarationSyntax or SwitchStatementSyntax or SwitchExpressionSyntax)
IndentBlockFormattingRule.cs (3)
109var switchStatement = (SwitchStatementSyntax)node.Parent; 238if (node is SwitchStatementSyntax && !_options.Indentation.HasFlag(IndentationPlacement.SwitchSection))
ParenthesizedExpressionSyntaxExtensions.cs (1)
146(nodeParent is SwitchStatementSyntax switchStatement && switchStatement.Expression == node) ||
SpeculationAnalyzer.cs (7)
428var oldSwitchStatement = (SwitchStatementSyntax)originalCaseSwitchLabel.Parent.Parent; 429var newSwitchStatement = (SwitchStatementSyntax)newCaseSwitchLabel.Parent.Parent; 444else if (currentOriginalNode is SwitchStatementSyntax originalSwitchStatement && 450var newSwitchStatement = (SwitchStatementSyntax)currentReplacedNode;
SyntaxNodeExtensions.cs (2)
109case SwitchStatementSyntax switchStatementNode: 840case SwitchStatementSyntax n when n.OpenParenToken != default: return (n.OpenParenToken, n.CloseParenToken);
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (16)
ConvertSwitchStatementToExpressionCodeFixProvider.cs (4)
44var switchStatement = (SwitchStatementSyntax)switchLocation.FindNode(getInnermostNodeForTie: true, context.CancellationToken); 89var switchStatement = (SwitchStatementSyntax)switchLocation.FindNode(getInnermostNodeForTie: true, cancellationToken);
ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (6)
37SwitchStatementSyntax switchStatement, 214public override ExpressionSyntax VisitSwitchStatement(SwitchStatementSyntax node) 218SwitchStatementSyntax node, 246var switchStatement = topLevel ? AddCastIfNecessary(node) : node; 258private SwitchStatementSyntax AddCastIfNecessary(SwitchStatementSyntax node)
CSharpPopulateSwitchStatementCodeFixProvider.cs (1)
17SwitchStatementSyntax, SwitchSectionSyntax, MemberAccessExpressionSyntax>
CSharpTypeInferenceService.TypeInferrer.cs (5)
181SwitchStatementSyntax switchStatement => InferTypeInSwitchStatement(switchStatement), 247SwitchStatementSyntax switchStatement => InferTypeInSwitchStatement(switchStatement, token), 2165var switchStatement = (SwitchStatementSyntax)switchLabel.Parent.Parent; 2170SwitchStatementSyntax switchStatement, SyntaxToken? previousToken = null)
Microsoft.CodeAnalysis.CSharp.EditorFeatures (3)
AutomaticCompletion\AutomaticLineEnderCommandHandler.cs (1)
598if (node is SwitchStatementSyntax switchStatementNode)
AutomaticCompletion\AutomaticLineEnderCommandHandler_Helpers.cs (2)
470SwitchStatementSyntax switchStatementNode => ShouldAddBraceForSwitchStatement(switchStatementNode), 635private static bool ShouldAddBraceForSwitchStatement(SwitchStatementSyntax switchStatementNode)
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (1)
Structure\SwitchStatementStructureTests.cs (1)
14public class SwitchStatementStructureTests : AbstractCSharpSyntaxNodeStructureTests<SwitchStatementSyntax>
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (18)
Semantics\PatternMatchingTestBase.cs (1)
455SwitchStatementSyntax n => ((BoundSwitchStatement)binder.BindStatement(n, BindingDiagnosticBag.Discarded)).ReachabilityDecisionDag,
Semantics\PatternMatchingTests_ListPatterns.cs (9)
6218VerifyDecisionDagDump<SwitchStatementSyntax>(comp, 6259VerifyDecisionDagDump<SwitchStatementSyntax>(comp, 6347VerifyDecisionDagDump<SwitchStatementSyntax>(comp, 6402VerifyDecisionDagDump<SwitchStatementSyntax>(comp, 6455VerifyDecisionDagDump<SwitchStatementSyntax>(comp, 6527VerifyDecisionDagDump<SwitchStatementSyntax>(comp, 6577VerifyDecisionDagDump<SwitchStatementSyntax>(comp, 6845VerifyDecisionDagDump<SwitchStatementSyntax>(comp, 7161VerifyDecisionDagDump<SwitchStatementSyntax>(comp,
Semantics\PatternMatchingTests_Scope.cs (2)
5337var statement = (SwitchStatementSyntax)SyntaxFactory.ParseStatement(@"
Semantics\PatternMatchingTests4.cs (6)
3966var @switch = tree.GetRoot().DescendantNodes().OfType<SwitchStatementSyntax>().Single(); 4035var @switch = tree.GetRoot().DescendantNodes().OfType<SwitchStatementSyntax>().Single(); 4108var @switch = tree.GetRoot().DescendantNodes().OfType<SwitchStatementSyntax>().Single();
Microsoft.CodeAnalysis.CSharp.Features (41)
Completion\KeywordRecommenders\CaseKeywordRecommender.cs (1)
31token.GetAncestor<SwitchStatementSyntax>() != null)
ConvertSwitchStatementToExpressionCodeFixProvider.cs (4)
44var switchStatement = (SwitchStatementSyntax)switchLocation.FindNode(getInnermostNodeForTie: true, context.CancellationToken); 89var switchStatement = (SwitchStatementSyntax)switchLocation.FindNode(getInnermostNodeForTie: true, cancellationToken);
ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (6)
37SwitchStatementSyntax switchStatement, 214public override ExpressionSyntax VisitSwitchStatement(SwitchStatementSyntax node) 218SwitchStatementSyntax node, 246var switchStatement = topLevel ? AddCastIfNecessary(node) : node; 258private SwitchStatementSyntax AddCastIfNecessary(SwitchStatementSyntax node)
ConvertSwitchStatementToExpressionDiagnosticAnalyzer.Analyzer.cs (4)
32SwitchStatementSyntax node, 104public override SyntaxKind VisitSwitchStatement(SwitchStatementSyntax node) 107private SyntaxKind AnalyzeSwitchStatement(SwitchStatementSyntax switchStatement, out bool shouldRemoveNextStatement) 176private SyntaxKind AnalyzeNextStatement(SwitchStatementSyntax switchStatement, out bool shouldRemoveNextStatement)
ConvertSwitchStatementToExpressionDiagnosticAnalyzer.cs (1)
57(SwitchStatementSyntax)switchStatement,
CSharpConsecutiveStatementPlacementDiagnosticAnalyzer.cs (1)
41=> node is BlockSyntax or SwitchStatementSyntax;
CSharpPopulateSwitchStatementCodeFixProvider.cs (1)
17SwitchStatementSyntax, SwitchSectionSyntax, MemberAccessExpressionSyntax>
CSharpPopulateSwitchStatementDiagnosticAnalyzer.cs (1)
13AbstractPopulateSwitchStatementDiagnosticAnalyzer<SwitchStatementSyntax>
Debugging\CSharpProximityExpressionsService.RelevantExpressionsCollector.cs (1)
90public override void VisitSwitchStatement(SwitchStatementSyntax node)
Debugging\CSharpProximityExpressionsService.Worker.cs (2)
277var switchStatement = statement as SwitchStatementSyntax;
EditAndContinue\BreakpointSpans.cs (2)
555var switchStatement = (SwitchStatementSyntax)statement;
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (11)
1050return AreEquivalentActiveStatements((SwitchStatementSyntax)oldStatement, (SwitchStatementSyntax)newStatement); 1090private static bool AreEquivalentActiveStatements(SwitchStatementSyntax oldNode, SwitchStatementSyntax newNode) 1771var switchStatement = (SwitchStatementSyntax)node; 2922if (oldActiveStatement.Parent!.Parent!.Parent is not SwitchStatementSyntax oldSwitch) 2928var newSwitch = (SwitchStatementSyntax)newActiveStatement.Parent!.Parent!.Parent!; 2948private static bool AreEquivalentSwitchStatementDecisionTrees(SwitchStatementSyntax oldSwitch, SwitchStatementSyntax newSwitch)
ExtractMethod\CSharpSelectionValidator.Validator.cs (1)
68SwitchStatementSyntax or
Highlighting\KeywordHighlighters\SwitchStatementHighlighter.cs (2)
21internal class SwitchStatementHighlighter : AbstractKeywordHighlighter<SwitchStatementSyntax> 30SwitchStatementSyntax switchStatement, List<TextSpan> spans, CancellationToken cancellationToken)
Structure\CSharpBlockStructureProvider.cs (1)
49builder.Add<SwitchStatementSyntax, SwitchStatementStructureProvider>();
Structure\Providers\SwitchStatementStructureProvider.cs (2)
13internal class SwitchStatementStructureProvider : AbstractSyntaxNodeStructureProvider<SwitchStatementSyntax> 17SwitchStatementSyntax node,
Microsoft.CodeAnalysis.CSharp.IOperation.UnitTests (12)
IOperation\IOperationTests_IBranchOperation.Extensions.cs (2)
344var (expected, actual) = GetOuterOperationAndCorrespondingInnerOperation<SwitchStatementSyntax, BreakStatementSyntax>(@" 368var (expected, actual) = GetOuterOperationAndCorrespondingInnerOperation<SwitchStatementSyntax, BreakStatementSyntax>(source);
IOperation\IOperationTests_InvalidStatement.cs (2)
117VerifyOperationTreeAndDiagnosticsForTest<SwitchStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 165VerifyOperationTreeAndDiagnosticsForTest<SwitchStatementSyntax>(source, expectedOperationTree, expectedDiagnostics);
IOperation\IOperationTests_IPatternSwitchCase.cs (1)
699VerifyOperationTreeAndDiagnosticsForTest<SwitchStatementSyntax>(source, expectedOperationTree, expectedDiagnostics);
IOperation\IOperationTests_ISwitchOperation.cs (7)
51VerifyOperationTreeAndDiagnosticsForTest<SwitchStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 107VerifyOperationTreeAndDiagnosticsForTest<SwitchStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 150VerifyOperationTreeAndDiagnosticsForTest<SwitchStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 214VerifyOperationTreeAndDiagnosticsForTest<SwitchStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 260VerifyOperationTreeAndDiagnosticsForTest<SwitchStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 304VerifyOperationTreeAndDiagnosticsForTest<SwitchStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 2057VerifyOperationTreeAndDiagnosticsForTest<SwitchStatementSyntax>(source, expectedOperationTree, expectedDiagnostics);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (2)
Semantics\OutVarTests.cs (2)
13735var statement = (SwitchStatementSyntax)SyntaxFactory.ParseStatement(@"
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (6)
Compilation\SemanticModelAPITests.cs (4)
1905var switchStatement = (SwitchStatementSyntax)SyntaxFactory.ParseStatement(@" 2776var switchStatement = (SwitchStatementSyntax)blockStatement.Statements[0];
Compilation\SemanticModelGetDeclaredSymbolAPITests.cs (2)
717SwitchStatementSyntax switchStmt = methodDecl.Body.Statements[1]; 750SwitchStatementSyntax switchStmt = methodDecl.Body.Statements[1];
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (23)
Generated\Syntax.Test.xml.Generated.cs (5)
10391private static SwitchStatementSyntax GenerateSwitchStatement() 12350var node = GenerateSwitchStatement(); 12360var newNode = node.WithAttributeLists(node.AttributeLists).WithSwitchKeyword(node.SwitchKeyword).WithOpenParenToken(node.OpenParenToken).WithExpression(node.Expression).WithCloseParenToken(node.CloseParenToken).WithOpenBraceToken(node.OpenBraceToken).WithSections(node.Sections).WithCloseBraceToken(node.CloseBraceToken); 17259var oldNode = GenerateSwitchStatement(); 17275var oldNode = GenerateSwitchStatement();
Parsing\StatementParsingTests.cs (12)
2128var ss = (SwitchStatementSyntax)statement; 2151var ss = (SwitchStatementSyntax)statement; 2186var ss = (SwitchStatementSyntax)statement; 2233var ss = (SwitchStatementSyntax)statement; 2266var ss = (SwitchStatementSyntax)statement; 2308var ss = (SwitchStatementSyntax)statement;
Syntax\GreenNodeTests.cs (6)
45var sw1 = SyntaxFactory.SwitchStatement(expression); 48var sw2 = SyntaxFactory.SwitchStatement(expression, default); 57var sw1 = SyntaxFactory.SwitchStatement(expression); 60var sw2 = SyntaxFactory.SwitchStatement(expression, default); 69var sw1 = SyntaxFactory.SwitchStatement(expression); 72var sw2 = SyntaxFactory.SwitchStatement(expression, default);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
LocalVariableDeclaratorsCollector.cs (1)
54public override void VisitSwitchStatement(SwitchStatementSyntax node)
Microsoft.CodeAnalysis.CSharp.Workspaces (24)
CodeGeneration\CSharpSyntaxGenerator.cs (3)
2154var statement = switchStatement as SwitchStatementSyntax; 2160if (switchStatement is not SwitchStatementSyntax statement)
CSharpTypeInferenceService.TypeInferrer.cs (5)
181SwitchStatementSyntax switchStatement => InferTypeInSwitchStatement(switchStatement), 247SwitchStatementSyntax switchStatement => InferTypeInSwitchStatement(switchStatement, token), 2165var switchStatement = (SwitchStatementSyntax)switchLabel.Parent.Parent; 2170SwitchStatementSyntax switchStatement, SyntaxToken? previousToken = null)
FormattingHelpers.cs (1)
292SwitchStatementSyntax switchStatement => switchStatement.CloseParenToken.Equals(token),
FormattingRangeHelper.cs (1)
178if (parent is MemberDeclarationSyntax or SwitchStatementSyntax or SwitchExpressionSyntax)
IndentBlockFormattingRule.cs (3)
109var switchStatement = (SwitchStatementSyntax)node.Parent; 238if (node is SwitchStatementSyntax && !_options.Indentation.HasFlag(IndentationPlacement.SwitchSection))
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs\SyntaxNodeExtensions.cs (2)
109case SwitchStatementSyntax switchStatementNode: 840case SwitchStatementSyntax n when n.OpenParenToken != default: return (n.OpenParenToken, n.CloseParenToken);
ParenthesizedExpressionSyntaxExtensions.cs (1)
146(nodeParent is SwitchStatementSyntax switchStatement && switchStatement.Expression == node) ||
Rename\LocalConflictVisitor.cs (1)
185public override void VisitSwitchStatement(SwitchStatementSyntax node)
SpeculationAnalyzer.cs (7)
428var oldSwitchStatement = (SwitchStatementSyntax)originalCaseSwitchLabel.Parent.Parent; 429var newSwitchStatement = (SwitchStatementSyntax)newCaseSwitchLabel.Parent.Parent; 444else if (currentOriginalNode is SwitchStatementSyntax originalSwitchStatement && 450var newSwitchStatement = (SwitchStatementSyntax)currentReplacedNode;
Microsoft.CodeAnalysis.CSharp.Workspaces.UnitTests (6)
CodeGeneration\SyntaxGeneratorTests.cs (6)
595VerifySyntax<SwitchStatementSyntax>( 601VerifySyntax<SwitchStatementSyntax>( 608VerifySyntax<SwitchStatementSyntax>( 616VerifySyntax<SwitchStatementSyntax>( 624VerifySyntax<SwitchStatementSyntax>( 630VerifySyntax<SwitchStatementSyntax>(
Microsoft.CodeAnalysis.Test.Utilities (2)
Compilation\ControlFlowGraphVerifier.cs (2)
649if (syntax.Parent is CSharp.Syntax.SwitchStatementSyntax switchStmt && switchStmt.Expression == syntax) 1203if (((CSharp.Syntax.SwitchStatementSyntax)syntax.Parent).Expression == syntax)