1 instantiation of SubpatternSyntax
Microsoft.CodeAnalysis.CSharp (1)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\Syntax.xml.Internal.Generated.cs (1)
9023
internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.
SubpatternSyntax
(this, parent, position);
97 references to SubpatternSyntax
Microsoft.CodeAnalysis.CSharp (34)
Binder\Binder_Patterns.cs (4)
1289
var
subPattern = node.Subpatterns[i];
1344
foreach (
var
subpatternSyntax in node.Subpatterns)
1385
var
subpatternSyntax = node.Subpatterns[i];
1721
foreach (
SubpatternSyntax
p in node.Subpatterns)
Binder\DecisionDagBuilder_CheckOrReachability.cs (1)
316
if (syntax.Parent is
SubpatternSyntax
subpatternSyntax
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\Syntax.xml.Main.Generated.cs (10)
309
public virtual TResult? VisitSubpattern(
SubpatternSyntax
node) => this.DefaultVisit(node);
1063
public virtual void VisitSubpattern(
SubpatternSyntax
node) => this.DefaultVisit(node);
1816
public override SyntaxNode? VisitSubpattern(
SubpatternSyntax
node)
3811
public static PositionalPatternClauseSyntax PositionalPatternClause(SyntaxToken openParenToken, SeparatedSyntaxList<
SubpatternSyntax
> subpatterns, SyntaxToken closeParenToken)
3819
public static PositionalPatternClauseSyntax PositionalPatternClause(SeparatedSyntaxList<
SubpatternSyntax
> subpatterns = default)
3823
public static PropertyPatternClauseSyntax PropertyPatternClause(SyntaxToken openBraceToken, SeparatedSyntaxList<
SubpatternSyntax
> subpatterns, SyntaxToken closeBraceToken)
3831
public static PropertyPatternClauseSyntax PropertyPatternClause(SeparatedSyntaxList<
SubpatternSyntax
> subpatterns = default)
3835
public static
SubpatternSyntax
Subpattern(BaseExpressionColonSyntax? expressionColon, PatternSyntax pattern)
3838
return (
SubpatternSyntax
)Syntax.InternalSyntax.SyntaxFactory.Subpattern(expressionColon == null ? null : (Syntax.InternalSyntax.BaseExpressionColonSyntax)expressionColon.Green, (Syntax.InternalSyntax.PatternSyntax)pattern.Green).CreateRed();
3842
public static
SubpatternSyntax
Subpattern(PatternSyntax pattern)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\Syntax.xml.Syntax.Generated.cs (16)
5494
public RecursivePatternSyntax AddPositionalPatternClauseSubpatterns(params
SubpatternSyntax
[] items)
5499
public RecursivePatternSyntax AddPropertyPatternClauseSubpatterns(params
SubpatternSyntax
[] items)
5523
public SeparatedSyntaxList<
SubpatternSyntax
> Subpatterns
5528
return red != null ? new SeparatedSyntaxList<
SubpatternSyntax
>(red, GetChildIndex(1)) : default;
5541
public PositionalPatternClauseSyntax Update(SyntaxToken openParenToken, SeparatedSyntaxList<
SubpatternSyntax
> subpatterns, SyntaxToken closeParenToken)
5554
public PositionalPatternClauseSyntax WithSubpatterns(SeparatedSyntaxList<
SubpatternSyntax
> subpatterns) => Update(this.OpenParenToken, subpatterns, this.CloseParenToken);
5557
public PositionalPatternClauseSyntax AddSubpatterns(params
SubpatternSyntax
[] items) => WithSubpatterns(this.Subpatterns.AddRange(items));
5577
public SeparatedSyntaxList<
SubpatternSyntax
> Subpatterns
5582
return red != null ? new SeparatedSyntaxList<
SubpatternSyntax
>(red, GetChildIndex(1)) : default;
5595
public PropertyPatternClauseSyntax Update(SyntaxToken openBraceToken, SeparatedSyntaxList<
SubpatternSyntax
> subpatterns, SyntaxToken closeBraceToken)
5608
public PropertyPatternClauseSyntax WithSubpatterns(SeparatedSyntaxList<
SubpatternSyntax
> subpatterns) => Update(this.OpenBraceToken, subpatterns, this.CloseBraceToken);
5611
public PropertyPatternClauseSyntax AddSubpatterns(params
SubpatternSyntax
[] items) => WithSubpatterns(this.Subpatterns.AddRange(items));
5653
public
SubpatternSyntax
Update(BaseExpressionColonSyntax? expressionColon, PatternSyntax pattern)
5657
var
newNode = SyntaxFactory.Subpattern(expressionColon, pattern);
5665
public
SubpatternSyntax
WithExpressionColon(BaseExpressionColonSyntax? expressionColon) => Update(expressionColon, this.Pattern);
5666
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\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyPropertyPattern\CSharpSimplifyPropertyPatternDiagnosticAnalyzer.cs (2)
58
var
subpattern = (
SubpatternSyntax
)syntaxContext.Node;
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyPropertyPattern\SimplifyPropertyPatternHelpers.cs (2)
13
SubpatternSyntax
subpattern,
14
[NotNullWhen(true)] out
SubpatternSyntax
? innerSubpattern,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
771
if (node.Parent is
SubpatternSyntax
)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (15)
src\roslyn\src\Analyzers\CSharp\CodeFixes\SimplifyPropertyPattern\CSharpSimplifyPropertyPatternCodeFixProvider.cs (8)
43
var subpatterns = diagnostics.Select(d => (
SubpatternSyntax
)d.AdditionalLocations[0].FindNode(cancellationToken))
47
foreach (
var
subpattern in subpatterns)
53
var
currentSubpattern = (
SubpatternSyntax
)current;
54
var
simplified = TrySimplify(currentSubpattern);
60
private static
SubpatternSyntax
? TrySimplify(
SubpatternSyntax
currentSubpattern)
62
if (!SimplifyPropertyPatternHelpers.IsSimplifiable(currentSubpattern, out
var
innerSubpattern, out var outerExpressionColon))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (7)
180
SubpatternSyntax
subpattern => InferTypeInSubpattern(subpattern, node),
1543
SubpatternSyntax
subpattern,
1648
foreach (
var
subPattern in positionalPart.Subpatterns)
1741
SubpatternSyntax
subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern),
1756
SubpatternSyntax
subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern),
1929
if (nameColon.Parent is
SubpatternSyntax
subpattern)
1939
if (expressionColon.Parent is
SubpatternSyntax
subpattern)
Microsoft.CodeAnalysis.CSharp.Features (27)
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 (4)
170
private static (PropertyPatternClauseSyntax?, ExpressionSyntax?,
SubpatternSyntax
? editingSubpattern) TryGetPropertyPatternClause(SyntaxTree tree, int position, CancellationToken cancellationToken)
184
SubpatternSyntax
? editingSubpattern = null;
185
if (tokenBeforeAdjustment.Parent is IdentifierNameSyntax { Parent: NameColonSyntax { Parent:
SubpatternSyntax
subpattern } })
215
if (memberAccess is { Parent.Parent:
SubpatternSyntax
{ Parent: PropertyPatternClauseSyntax found } })
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyPropertyPattern\CSharpSimplifyPropertyPatternDiagnosticAnalyzer.cs (2)
58
var
subpattern = (
SubpatternSyntax
)syntaxContext.Node;
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyPropertyPattern\SimplifyPropertyPatternHelpers.cs (2)
13
SubpatternSyntax
subpattern,
14
[NotNullWhen(true)] out
SubpatternSyntax
? innerSubpattern,
src\roslyn\src\Analyzers\CSharp\CodeFixes\SimplifyPropertyPattern\CSharpSimplifyPropertyPatternCodeFixProvider.cs (8)
43
var subpatterns = diagnostics.Select(d => (
SubpatternSyntax
)d.AdditionalLocations[0].FindNode(cancellationToken))
47
foreach (
var
subpattern in subpatterns)
53
var
currentSubpattern = (
SubpatternSyntax
)current;
54
var
simplified = TrySimplify(currentSubpattern);
60
private static
SubpatternSyntax
? TrySimplify(
SubpatternSyntax
currentSubpattern)
62
if (!SimplifyPropertyPatternHelpers.IsSimplifiable(currentSubpattern, out
var
innerSubpattern, out var outerExpressionColon))
Microsoft.CodeAnalysis.CSharp.Workspaces (8)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
771
if (node.Parent is
SubpatternSyntax
)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (7)
180
SubpatternSyntax
subpattern => InferTypeInSubpattern(subpattern, node),
1543
SubpatternSyntax
subpattern,
1648
foreach (
var
subPattern in positionalPart.Subpatterns)
1741
SubpatternSyntax
subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern),
1756
SubpatternSyntax
subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern),
1929
if (nameColon.Parent is
SubpatternSyntax
subpattern)
1939
if (expressionColon.Parent is
SubpatternSyntax
subpattern)
Roslyn.Diagnostics.CSharp.Analyzers (8)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
771
if (node.Parent is
SubpatternSyntax
)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (7)
180
SubpatternSyntax
subpattern => InferTypeInSubpattern(subpattern, node),
1543
SubpatternSyntax
subpattern,
1648
foreach (
var
subPattern in positionalPart.Subpatterns)
1741
SubpatternSyntax
subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern),
1756
SubpatternSyntax
subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern),
1929
if (nameColon.Parent is
SubpatternSyntax
subpattern)
1939
if (expressionColon.Parent is
SubpatternSyntax
subpattern)