3 types derived from SwitchLabelSyntax
Microsoft.CodeAnalysis.CSharp (3)
Syntax.xml.Syntax.Generated.cs (3)
8653public sealed partial class CasePatternSwitchLabelSyntax : SwitchLabelSyntax 8721public sealed partial class CaseSwitchLabelSyntax : SwitchLabelSyntax 8773public sealed partial class DefaultSwitchLabelSyntax : SwitchLabelSyntax
86 references to SwitchLabelSyntax
Microsoft.CodeAnalysis.CSharp (32)
Binder\ExpressionVariableFinder.cs (1)
139foreach (SwitchLabelSyntax label in node.Labels)
Binder\LocalBinderFactory.cs (1)
749foreach (SwitchLabelSyntax label in node.Labels)
Binder\SwitchBinder.cs (2)
200private void BuildSwitchLabels(SyntaxList<SwitchLabelSyntax> labelsSyntax, Binder sectionBinder, ArrayBuilder<LabelSymbol> labels, BindingDiagnosticBag tempDiagnosticBag) 203foreach (var labelSyntax in labelsSyntax)
Binder\SwitchBinder_Patterns.cs (2)
192foreach (SwitchLabelSyntax labelSyntax in node.Labels) 229SwitchLabelSyntax node,
Compilation\CSharpSemanticModel.cs (2)
3194public abstract ILabelSymbol GetDeclaredSymbol(SwitchLabelSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)); 5104return this.GetDeclaredSymbol((SwitchLabelSyntax)node, cancellationToken);
Compilation\MemberSemanticModel.cs (1)
778public override ILabelSymbol GetDeclaredSymbol(SwitchLabelSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
Compilation\SpeculativeSemanticModelWithMemberModel.cs (1)
350public override ILabelSymbol GetDeclaredSymbol(SwitchLabelSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
Compilation\SyntaxTreeSemanticModel.cs (1)
1917public override ILabelSymbol GetDeclaredSymbol(SwitchLabelSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
CSharpExtensions.cs (1)
1535public static ILabelSymbol? GetDeclaredSymbol(this SemanticModel? semanticModel, SwitchLabelSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
FlowAnalysis\AbstractFlowPass_Switch.cs (1)
108foreach (var label in sectionSyntax.Labels)
Lowering\LocalRewriter\LocalRewriter_BasePatternSwitchLocalRewriter.cs (1)
30SyntaxNode? sectionSyntax = whenClauseSyntax is SwitchLabelSyntax l ? l.Parent : whenClauseSyntax;
Symbols\Source\SourceLabelSymbol.cs (1)
100node = _identifierNodeOrToken.AsNode()!.FirstAncestorOrSelf<SwitchLabelSyntax>();
Syntax.xml.Main.Generated.cs (1)
4579public static SwitchSectionSyntax SwitchSection(SyntaxList<SwitchLabelSyntax> labels, SyntaxList<StatementSyntax> statements)
Syntax.xml.Syntax.Generated.cs (15)
8578public SyntaxList<SwitchLabelSyntax> Labels => new SyntaxList<SwitchLabelSyntax>(GetRed(ref this.labels, 0)); 8604public SwitchSectionSyntax Update(SyntaxList<SwitchLabelSyntax> labels, SyntaxList<StatementSyntax> statements) 8616public SwitchSectionSyntax WithLabels(SyntaxList<SwitchLabelSyntax> labels) => Update(labels, this.Statements); 8619public SwitchSectionSyntax AddLabels(params SwitchLabelSyntax[] items) => WithLabels(this.Labels.AddRange(items)); 8635public SwitchLabelSyntax WithKeyword(SyntaxToken keyword) => WithKeywordCore(keyword); 8636internal abstract SwitchLabelSyntax WithKeywordCore(SyntaxToken keyword); 8642public SwitchLabelSyntax WithColonToken(SyntaxToken colonToken) => WithColonTokenCore(colonToken); 8643internal abstract SwitchLabelSyntax WithColonTokenCore(SyntaxToken colonToken); 8706internal override SwitchLabelSyntax WithKeywordCore(SyntaxToken keyword) => WithKeyword(keyword); 8710internal override SwitchLabelSyntax WithColonTokenCore(SyntaxToken colonToken) => WithColonToken(colonToken); 8759internal override SwitchLabelSyntax WithKeywordCore(SyntaxToken keyword) => WithKeyword(keyword); 8762internal override SwitchLabelSyntax WithColonTokenCore(SyntaxToken colonToken) => WithColonToken(colonToken); 8805internal override SwitchLabelSyntax WithKeywordCore(SyntaxToken keyword) => WithKeyword(keyword); 8807internal override SwitchLabelSyntax WithColonTokenCore(SyntaxToken colonToken) => WithColonToken(colonToken);
Syntax\SyntaxNormalizer.cs (1)
286if (currentToken.Parent is LabeledStatementSyntax || currentToken.Parent is SwitchLabelSyntax)
Microsoft.CodeAnalysis.CSharp.CodeStyle (5)
src\Analyzers\CSharp\Analyzers\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionDiagnosticAnalyzer.Analyzer.cs (2)
133private bool CanConvertLabelsToArms(SyntaxList<SwitchLabelSyntax> labels) 163foreach (var label in labels)
src\Analyzers\CSharp\Analyzers\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionHelpers.cs (1)
11public static bool IsDefaultSwitchLabel(SwitchLabelSyntax node)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (1)
365if (previousToken.Parent is LabeledStatementSyntax or SwitchLabelSyntax)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
409token.Parent is SwitchLabelSyntax switchLabel &&
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (8)
src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (2)
130private static PatternSyntax GetPattern(SyntaxList<SwitchLabelSyntax> switchLabels, out WhenClauseSyntax? whenClause) 158private static PatternSyntax GetPattern(SwitchLabelSyntax switchLabel, out WhenClauseSyntax? whenClause)
src\Analyzers\CSharp\CodeFixes\RemoveUnusedParametersAndValues\CSharpRemoveUnusedValuesCodeFixProvider.cs (1)
30ForEachStatementSyntax, SwitchSectionSyntax, SwitchLabelSyntax, CatchClauseSyntax, CatchClauseSyntax>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (1)
62if (token.IsKind(SyntaxKind.ColonToken) && !token.Parent.IsKind(SyntaxKind.LabeledStatement) && token.Parent is not SwitchLabelSyntax)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.Indenter.cs (1)
269if (nonTerminalNode is SwitchLabelSyntax)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
178SwitchLabelSyntax switchLabel => InferTypeInSwitchLabel(switchLabel), 243SwitchLabelSyntax switchLabel => InferTypeInSwitchLabel(switchLabel, token), 2109SwitchLabelSyntax switchLabel, SyntaxToken? previousToken = null)
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (2)
SymbolKey\SymbolKeyTestBase.cs (2)
358var swlabels = body.DescendantNodes().OfType<SwitchLabelSyntax>(); 359foreach (var n in swlabels)
Microsoft.CodeAnalysis.CSharp.Features (14)
Completion\KeywordRecommenders\WhenKeywordRecommender.cs (2)
37var switchLabel = context.TargetToken.GetAncestor<SwitchLabelSyntax>();
EditAndContinue\BreakpointSpans.cs (3)
288return TryCreateSpanForSwitchLabel((SwitchLabelSyntax)node, position); 293? TryCreateSpanForSwitchLabel((SwitchLabelSyntax)node, position) 554private static TextSpan? TryCreateSpanForSwitchLabel(SwitchLabelSyntax switchLabel, int position)
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (2)
2915private static bool AreLabelsEquivalent(SwitchLabelSyntax oldLabel, SwitchLabelSyntax newLabel)
Highlighting\KeywordHighlighters\SwitchStatementHighlighter.cs (1)
43foreach (var label in switchSection.Labels)
src\Analyzers\CSharp\Analyzers\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionDiagnosticAnalyzer.Analyzer.cs (2)
133private bool CanConvertLabelsToArms(SyntaxList<SwitchLabelSyntax> labels) 163foreach (var label in labels)
src\Analyzers\CSharp\Analyzers\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionHelpers.cs (1)
11public static bool IsDefaultSwitchLabel(SwitchLabelSyntax node)
src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (2)
130private static PatternSyntax GetPattern(SyntaxList<SwitchLabelSyntax> switchLabels, out WhenClauseSyntax? whenClause) 158private static PatternSyntax GetPattern(SwitchLabelSyntax switchLabel, out WhenClauseSyntax? whenClause)
src\Analyzers\CSharp\CodeFixes\RemoveUnusedParametersAndValues\CSharpRemoveUnusedValuesCodeFixProvider.cs (1)
30ForEachStatementSyntax, SwitchSectionSyntax, SwitchLabelSyntax, CatchClauseSyntax, CatchClauseSyntax>
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (6)
Compilation\SemanticModelAPITests.cs (1)
1912var switchLabel = switchStatement.Sections[0].Labels[0];
Compilation\SemanticModelGetDeclaredSymbolAPITests.cs (2)
718SwitchLabelSyntax switchLabel = switchStmt.Sections[0].Labels[0]; 751SwitchLabelSyntax switchLabel = switchStmt.Sections[0].Labels[0];
Symbols\Source\DeclaringSyntaxNodeTests.cs (3)
642CheckDeclaringSyntax<SwitchLabelSyntax>(comp, tree, "case 4:", SymbolKind.Label); 643CheckDeclaringSyntax<SwitchLabelSyntax>(comp, tree, "case 3:", SymbolKind.Label); 644CheckDeclaringSyntax<SwitchLabelSyntax>(comp, tree, "default", SymbolKind.Label);
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (1)
Generated\Syntax.Test.xml.Generated.cs (1)
10781=> SyntaxFactory.SwitchSection(new SyntaxList<SwitchLabelSyntax>(), new SyntaxList<StatementSyntax>());
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
Extensions.cs (1)
658declaration is SwitchLabelSyntax ||
Microsoft.CodeAnalysis.CSharp.Workspaces (10)
CodeGeneration\CSharpSyntaxGenerator.cs (3)
3630[.. labels.Cast<SwitchLabelSyntax>()], 3637private static SyntaxList<SwitchLabelSyntax> AsSwitchLabels(IEnumerable<SyntaxNode> expressions) 3639var labels = default(SyntaxList<SwitchLabelSyntax>);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (1)
365if (previousToken.Parent is LabeledStatementSyntax or SwitchLabelSyntax)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
409token.Parent is SwitchLabelSyntax switchLabel &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (1)
62if (token.IsKind(SyntaxKind.ColonToken) && !token.Parent.IsKind(SyntaxKind.LabeledStatement) && token.Parent is not SwitchLabelSyntax)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.Indenter.cs (1)
269if (nonTerminalNode is SwitchLabelSyntax)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
178SwitchLabelSyntax switchLabel => InferTypeInSwitchLabel(switchLabel), 243SwitchLabelSyntax switchLabel => InferTypeInSwitchLabel(switchLabel, token), 2109SwitchLabelSyntax switchLabel, SyntaxToken? previousToken = null)
Roslyn.Diagnostics.CSharp.Analyzers (7)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (1)
365if (previousToken.Parent is LabeledStatementSyntax or SwitchLabelSyntax)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
409token.Parent is SwitchLabelSyntax switchLabel &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (1)
62if (token.IsKind(SyntaxKind.ColonToken) && !token.Parent.IsKind(SyntaxKind.LabeledStatement) && token.Parent is not SwitchLabelSyntax)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.Indenter.cs (1)
269if (nonTerminalNode is SwitchLabelSyntax)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
178SwitchLabelSyntax switchLabel => InferTypeInSwitchLabel(switchLabel), 243SwitchLabelSyntax switchLabel => InferTypeInSwitchLabel(switchLabel, token), 2109SwitchLabelSyntax switchLabel, SyntaxToken? previousToken = null)