1 instantiation of SubpatternSyntax
Microsoft.CodeAnalysis.CSharp (1)
Syntax.xml.Internal.Generated.cs (1)
8848
internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.
SubpatternSyntax
(this, parent, position);
111 references to SubpatternSyntax
Microsoft.CodeAnalysis.CSharp (33)
Binder\Binder_Patterns.cs (4)
1065
var
subPattern = node.Subpatterns[i];
1116
foreach (
var
subpatternSyntax in node.Subpatterns)
1171
var
subpatternSyntax = node.Subpatterns[i];
1467
foreach (
SubpatternSyntax
p in node.Subpatterns)
Syntax.xml.Main.Generated.cs (10)
301
public virtual TResult? VisitSubpattern(
SubpatternSyntax
node) => this.DefaultVisit(node);
1045
public virtual void VisitSubpattern(
SubpatternSyntax
node) => this.DefaultVisit(node);
1788
public override SyntaxNode? VisitSubpattern(
SubpatternSyntax
node)
3752
public static PositionalPatternClauseSyntax PositionalPatternClause(SyntaxToken openParenToken, SeparatedSyntaxList<
SubpatternSyntax
> subpatterns, SyntaxToken closeParenToken)
3760
public static PositionalPatternClauseSyntax PositionalPatternClause(SeparatedSyntaxList<
SubpatternSyntax
> subpatterns = default)
3764
public static PropertyPatternClauseSyntax PropertyPatternClause(SyntaxToken openBraceToken, SeparatedSyntaxList<
SubpatternSyntax
> subpatterns, SyntaxToken closeBraceToken)
3772
public static PropertyPatternClauseSyntax PropertyPatternClause(SeparatedSyntaxList<
SubpatternSyntax
> subpatterns = default)
3776
public static
SubpatternSyntax
Subpattern(BaseExpressionColonSyntax? expressionColon, PatternSyntax pattern)
3779
return (
SubpatternSyntax
)Syntax.InternalSyntax.SyntaxFactory.Subpattern(expressionColon == null ? null : (Syntax.InternalSyntax.BaseExpressionColonSyntax)expressionColon.Green, (Syntax.InternalSyntax.PatternSyntax)pattern.Green).CreateRed();
3783
public static
SubpatternSyntax
Subpattern(PatternSyntax pattern)
Syntax.xml.Syntax.Generated.cs (16)
5395
public RecursivePatternSyntax AddPositionalPatternClauseSubpatterns(params
SubpatternSyntax
[] items)
5400
public RecursivePatternSyntax AddPropertyPatternClauseSubpatterns(params
SubpatternSyntax
[] items)
5424
public SeparatedSyntaxList<
SubpatternSyntax
> Subpatterns
5429
return red != null ? new SeparatedSyntaxList<
SubpatternSyntax
>(red, GetChildIndex(1)) : default;
5442
public PositionalPatternClauseSyntax Update(SyntaxToken openParenToken, SeparatedSyntaxList<
SubpatternSyntax
> subpatterns, SyntaxToken closeParenToken)
5455
public PositionalPatternClauseSyntax WithSubpatterns(SeparatedSyntaxList<
SubpatternSyntax
> subpatterns) => Update(this.OpenParenToken, subpatterns, this.CloseParenToken);
5458
public PositionalPatternClauseSyntax AddSubpatterns(params
SubpatternSyntax
[] items) => WithSubpatterns(this.Subpatterns.AddRange(items));
5478
public SeparatedSyntaxList<
SubpatternSyntax
> Subpatterns
5483
return red != null ? new SeparatedSyntaxList<
SubpatternSyntax
>(red, GetChildIndex(1)) : default;
5496
public PropertyPatternClauseSyntax Update(SyntaxToken openBraceToken, SeparatedSyntaxList<
SubpatternSyntax
> subpatterns, SyntaxToken closeBraceToken)
5509
public PropertyPatternClauseSyntax WithSubpatterns(SeparatedSyntaxList<
SubpatternSyntax
> subpatterns) => Update(this.OpenBraceToken, subpatterns, this.CloseBraceToken);
5512
public PropertyPatternClauseSyntax AddSubpatterns(params
SubpatternSyntax
[] items) => WithSubpatterns(this.Subpatterns.AddRange(items));
5554
public
SubpatternSyntax
Update(BaseExpressionColonSyntax? expressionColon, PatternSyntax pattern)
5558
var
newNode = SyntaxFactory.Subpattern(expressionColon, pattern);
5566
public
SubpatternSyntax
WithExpressionColon(BaseExpressionColonSyntax? expressionColon) => Update(expressionColon, this.Pattern);
5567
public
SubpatternSyntax
WithPattern(PatternSyntax pattern) => Update(this.ExpressionColon, pattern);
Syntax\SubpatternSyntax.cs (3)
13
public
SubpatternSyntax
WithNameColon(NameColonSyntax? nameColon)
16
public
SubpatternSyntax
Update(NameColonSyntax? nameColon, PatternSyntax pattern)
25
public static
SubpatternSyntax
Subpattern(NameColonSyntax? nameColon, PatternSyntax pattern)
Microsoft.CodeAnalysis.CSharp.CodeStyle (5)
src\Analyzers\CSharp\Analyzers\SimplifyPropertyPattern\CSharpSimplifyPropertyPatternDiagnosticAnalyzer.cs (2)
58
var
subpattern = (
SubpatternSyntax
)syntaxContext.Node;
src\Analyzers\CSharp\Analyzers\SimplifyPropertyPattern\SimplifyPropertyPatternHelpers.cs (2)
13
SubpatternSyntax
subpattern,
14
[NotNullWhen(true)] out
SubpatternSyntax
? innerSubpattern,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
749
if (node.Parent is
SubpatternSyntax
)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (15)
src\Analyzers\CSharp\CodeFixes\SimplifyPropertyPattern\CSharpSimplifyPropertyPatternCodeFixProvider.cs (8)
44
var subpatterns = diagnostics.Select(d => (
SubpatternSyntax
)d.AdditionalLocations[0].FindNode(cancellationToken))
48
foreach (
var
subpattern in subpatterns)
54
var
currentSubpattern = (
SubpatternSyntax
)current;
55
var
simplified = TrySimplify(currentSubpattern);
63
private static
SubpatternSyntax
? TrySimplify(
SubpatternSyntax
currentSubpattern)
65
if (!SimplifyPropertyPatternHelpers.IsSimplifiable(currentSubpattern, out
var
innerSubpattern, out var outerExpressionColon))
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (7)
176
SubpatternSyntax
subpattern => InferTypeInSubpattern(subpattern, node),
1465
SubpatternSyntax
subpattern,
1570
foreach (
var
subPattern in positionalPart.Subpatterns)
1663
SubpatternSyntax
subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern),
1678
SubpatternSyntax
subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern),
1851
if (nameColon.Parent is
SubpatternSyntax
subpattern)
1861
if (expressionColon.Parent is
SubpatternSyntax
subpattern)
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (11)
Semantics\PatternMatchingTests3.cs (7)
49
var subpatterns = tree.GetRoot().DescendantNodes().OfType<
SubpatternSyntax
>().ToArray();
109
var subpatterns = tree.GetRoot().DescendantNodes().OfType<
SubpatternSyntax
>().ToArray();
160
var subpatterns = tree.GetRoot().DescendantNodes().OfType<
SubpatternSyntax
>().ToArray();
205
var subpatterns = tree.GetRoot().DescendantNodes().OfType<
SubpatternSyntax
>().ToArray();
256
var subpatterns = tree.GetRoot().DescendantNodes().OfType<
SubpatternSyntax
>().ToArray();
299
var subpatterns = tree.GetRoot().DescendantNodes().OfType<
SubpatternSyntax
>().ToArray();
346
var subpatterns = tree.GetRoot().DescendantNodes().OfType<
SubpatternSyntax
>().ToArray();
Semantics\PatternMatchingTests5.cs (4)
1106
var subpatterns = tree.GetRoot().DescendantNodes().OfType<
SubpatternSyntax
>().ToArray();
1186
var subpatterns = tree.GetRoot().DescendantNodes().OfType<
SubpatternSyntax
>().ToArray();
1237
var subpatterns = tree.GetRoot().DescendantNodes().OfType<
SubpatternSyntax
>().ToArray();
1289
var subpatterns = tree.GetRoot().DescendantNodes().OfType<
SubpatternSyntax
>().ToArray();
Microsoft.CodeAnalysis.CSharp.Features (24)
CodeRefactorings\UseRecursivePatterns\UseRecursivePatternsCodeRefactoringProvider.cs (11)
129
var
rightSubpattern = CreateSubpattern(rightNames, CreatePattern(rightReceiver, rightTarget, rightFlipped));
135
var
leftSubpattern = CreateSubpattern(leftNames, CreatePattern(leftReceiver, leftTarget, leftFlipped));
141
var
leftSubpattern = CreateSubpattern(leftNames, CreatePattern(leftReceiver, leftTarget, leftFlipped));
142
var
rightSubpattern = CreateSubpattern(rightNames, CreatePattern(rightReceiver, rightTarget, rightFlipped));
242
static PatternSyntax AddSubpattern(PatternSyntax containingPattern,
SubpatternSyntax
subpattern)
380
private static
SubpatternSyntax
CreateSubpattern(ImmutableArray<IdentifierNameSyntax> names, PatternSyntax pattern)
393
var
subpattern = Subpattern(names[0], pattern);
400
private static
SubpatternSyntax
Subpattern(IdentifierNameSyntax name, PatternSyntax pattern)
403
private static RecursivePatternSyntax RecursivePattern(params ReadOnlySpan<
SubpatternSyntax
> subpatterns)
406
private static RecursivePatternSyntax RecursivePattern(TypeSyntax? type,
SubpatternSyntax
subpattern, VariableDesignationSyntax? designation)
409
private static RecursivePatternSyntax RecursivePattern(
SubpatternSyntax
subpattern)
Completion\CompletionProviders\PropertySubPatternCompletionProvider.cs (1)
204
if (memberAccess is { Parent.Parent:
SubpatternSyntax
{ Parent: PropertyPatternClauseSyntax found } })
src\Analyzers\CSharp\Analyzers\SimplifyPropertyPattern\CSharpSimplifyPropertyPatternDiagnosticAnalyzer.cs (2)
58
var
subpattern = (
SubpatternSyntax
)syntaxContext.Node;
src\Analyzers\CSharp\Analyzers\SimplifyPropertyPattern\SimplifyPropertyPatternHelpers.cs (2)
13
SubpatternSyntax
subpattern,
14
[NotNullWhen(true)] out
SubpatternSyntax
? innerSubpattern,
src\Analyzers\CSharp\CodeFixes\SimplifyPropertyPattern\CSharpSimplifyPropertyPatternCodeFixProvider.cs (8)
44
var subpatterns = diagnostics.Select(d => (
SubpatternSyntax
)d.AdditionalLocations[0].FindNode(cancellationToken))
48
foreach (
var
subpattern in subpatterns)
54
var
currentSubpattern = (
SubpatternSyntax
)current;
55
var
simplified = TrySimplify(currentSubpattern);
63
private static
SubpatternSyntax
? TrySimplify(
SubpatternSyntax
currentSubpattern)
65
if (!SimplifyPropertyPatternHelpers.IsSimplifiable(currentSubpattern, out
var
innerSubpattern, out var outerExpressionColon))
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (7)
Generated\Syntax.Test.xml.Generated.cs (7)
10640
=> SyntaxFactory.PositionalPatternClause(SyntaxFactory.Token(SyntaxKind.OpenParenToken), new SeparatedSyntaxList<
SubpatternSyntax
>(), SyntaxFactory.Token(SyntaxKind.CloseParenToken));
10643
=> SyntaxFactory.PropertyPatternClause(SyntaxFactory.Token(SyntaxKind.OpenBraceToken), new SeparatedSyntaxList<
SubpatternSyntax
>(), SyntaxFactory.Token(SyntaxKind.CloseBraceToken));
10645
private static
SubpatternSyntax
GenerateSubpattern()
12221
var
node = GenerateSubpattern();
12225
var
newNode = node.WithExpressionColon(node.ExpressionColon).WithPattern(node.Pattern);
16733
var
oldNode = GenerateSubpattern();
16749
var
oldNode = GenerateSubpattern();
Microsoft.CodeAnalysis.CSharp.Workspaces (8)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
749
if (node.Parent is
SubpatternSyntax
)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (7)
176
SubpatternSyntax
subpattern => InferTypeInSubpattern(subpattern, node),
1465
SubpatternSyntax
subpattern,
1570
foreach (
var
subPattern in positionalPart.Subpatterns)
1663
SubpatternSyntax
subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern),
1678
SubpatternSyntax
subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern),
1851
if (nameColon.Parent is
SubpatternSyntax
subpattern)
1861
if (expressionColon.Parent is
SubpatternSyntax
subpattern)
Roslyn.Diagnostics.CSharp.Analyzers (8)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
749
if (node.Parent is
SubpatternSyntax
)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (7)
176
SubpatternSyntax
subpattern => InferTypeInSubpattern(subpattern, node),
1465
SubpatternSyntax
subpattern,
1570
foreach (
var
subPattern in positionalPart.Subpatterns)
1663
SubpatternSyntax
subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern),
1678
SubpatternSyntax
subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern),
1851
if (nameColon.Parent is
SubpatternSyntax
subpattern)
1861
if (expressionColon.Parent is
SubpatternSyntax
subpattern)