1 instantiation of SubpatternSyntax
Microsoft.CodeAnalysis.CSharp (1)
_generated\1\Syntax.xml.Internal.Generated.cs (1)
8924internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.SubpatternSyntax(this, parent, position);
97 references to SubpatternSyntax
Microsoft.CodeAnalysis.CSharp (34)
_generated\0\Syntax.xml.Main.Generated.cs (10)
305public virtual TResult? VisitSubpattern(SubpatternSyntax node) => this.DefaultVisit(node); 1053public virtual void VisitSubpattern(SubpatternSyntax node) => this.DefaultVisit(node); 1800public override SyntaxNode? VisitSubpattern(SubpatternSyntax node) 3778public static PositionalPatternClauseSyntax PositionalPatternClause(SyntaxToken openParenToken, SeparatedSyntaxList<SubpatternSyntax> subpatterns, SyntaxToken closeParenToken) 3786public static PositionalPatternClauseSyntax PositionalPatternClause(SeparatedSyntaxList<SubpatternSyntax> subpatterns = default) 3790public static PropertyPatternClauseSyntax PropertyPatternClause(SyntaxToken openBraceToken, SeparatedSyntaxList<SubpatternSyntax> subpatterns, SyntaxToken closeBraceToken) 3798public static PropertyPatternClauseSyntax PropertyPatternClause(SeparatedSyntaxList<SubpatternSyntax> subpatterns = default) 3802public static SubpatternSyntax Subpattern(BaseExpressionColonSyntax? expressionColon, PatternSyntax pattern) 3805return (SubpatternSyntax)Syntax.InternalSyntax.SyntaxFactory.Subpattern(expressionColon == null ? null : (Syntax.InternalSyntax.BaseExpressionColonSyntax)expressionColon.Green, (Syntax.InternalSyntax.PatternSyntax)pattern.Green).CreateRed(); 3809public static SubpatternSyntax Subpattern(PatternSyntax pattern)
_generated\2\Syntax.xml.Syntax.Generated.cs (16)
5440public RecursivePatternSyntax AddPositionalPatternClauseSubpatterns(params SubpatternSyntax[] items) 5445public RecursivePatternSyntax AddPropertyPatternClauseSubpatterns(params SubpatternSyntax[] items) 5469public SeparatedSyntaxList<SubpatternSyntax> Subpatterns 5474return red != null ? new SeparatedSyntaxList<SubpatternSyntax>(red, GetChildIndex(1)) : default; 5487public PositionalPatternClauseSyntax Update(SyntaxToken openParenToken, SeparatedSyntaxList<SubpatternSyntax> subpatterns, SyntaxToken closeParenToken) 5500public PositionalPatternClauseSyntax WithSubpatterns(SeparatedSyntaxList<SubpatternSyntax> subpatterns) => Update(this.OpenParenToken, subpatterns, this.CloseParenToken); 5503public PositionalPatternClauseSyntax AddSubpatterns(params SubpatternSyntax[] items) => WithSubpatterns(this.Subpatterns.AddRange(items)); 5523public SeparatedSyntaxList<SubpatternSyntax> Subpatterns 5528return red != null ? new SeparatedSyntaxList<SubpatternSyntax>(red, GetChildIndex(1)) : default; 5541public PropertyPatternClauseSyntax Update(SyntaxToken openBraceToken, SeparatedSyntaxList<SubpatternSyntax> subpatterns, SyntaxToken closeBraceToken) 5554public PropertyPatternClauseSyntax WithSubpatterns(SeparatedSyntaxList<SubpatternSyntax> subpatterns) => Update(this.OpenBraceToken, subpatterns, this.CloseBraceToken); 5557public PropertyPatternClauseSyntax AddSubpatterns(params SubpatternSyntax[] items) => WithSubpatterns(this.Subpatterns.AddRange(items)); 5599public SubpatternSyntax Update(BaseExpressionColonSyntax? expressionColon, PatternSyntax pattern) 5603var newNode = SyntaxFactory.Subpattern(expressionColon, pattern); 5611public SubpatternSyntax WithExpressionColon(BaseExpressionColonSyntax? expressionColon) => Update(expressionColon, this.Pattern); 5612public SubpatternSyntax WithPattern(PatternSyntax pattern) => Update(this.ExpressionColon, pattern);
Binder\Binder_Patterns.cs (4)
1684var subPattern = node.Subpatterns[i]; 1739foreach (var subpatternSyntax in node.Subpatterns) 1780var subpatternSyntax = node.Subpatterns[i]; 2127foreach (SubpatternSyntax p in node.Subpatterns)
Binder\DecisionDagBuilder_CheckOrReachability.cs (1)
245if (syntax.Parent is SubpatternSyntax subpatternSyntax
Syntax\SubpatternSyntax.cs (3)
13public SubpatternSyntax WithNameColon(NameColonSyntax? nameColon) 16public SubpatternSyntax Update(NameColonSyntax? nameColon, PatternSyntax pattern) 25public static SubpatternSyntax Subpattern(NameColonSyntax? nameColon, PatternSyntax pattern)
Microsoft.CodeAnalysis.CSharp.CodeStyle (5)
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyPropertyPattern\CSharpSimplifyPropertyPatternDiagnosticAnalyzer.cs (2)
58var subpattern = (SubpatternSyntax)syntaxContext.Node;
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyPropertyPattern\SimplifyPropertyPatternHelpers.cs (2)
13SubpatternSyntax subpattern, 14[NotNullWhen(true)] out SubpatternSyntax? innerSubpattern,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
771if (node.Parent is SubpatternSyntax)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (15)
src\roslyn\src\Analyzers\CSharp\CodeFixes\SimplifyPropertyPattern\CSharpSimplifyPropertyPatternCodeFixProvider.cs (8)
43var subpatterns = diagnostics.Select(d => (SubpatternSyntax)d.AdditionalLocations[0].FindNode(cancellationToken)) 47foreach (var subpattern in subpatterns) 53var currentSubpattern = (SubpatternSyntax)current; 54var simplified = TrySimplify(currentSubpattern); 60private static SubpatternSyntax? TrySimplify(SubpatternSyntax currentSubpattern) 62if (!SimplifyPropertyPatternHelpers.IsSimplifiable(currentSubpattern, out var innerSubpattern, out var outerExpressionColon))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (7)
180SubpatternSyntax subpattern => InferTypeInSubpattern(subpattern, node), 1543SubpatternSyntax subpattern, 1648foreach (var subPattern in positionalPart.Subpatterns) 1741SubpatternSyntax subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern), 1756SubpatternSyntax subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern), 1929if (nameColon.Parent is SubpatternSyntax subpattern) 1939if (expressionColon.Parent is SubpatternSyntax subpattern)
Microsoft.CodeAnalysis.CSharp.Features (27)
CodeRefactorings\UseRecursivePatterns\UseRecursivePatternsCodeRefactoringProvider.cs (11)
129var rightSubpattern = CreateSubpattern(rightNames, CreatePattern(rightReceiver, rightTarget, rightFlipped)); 135var leftSubpattern = CreateSubpattern(leftNames, CreatePattern(leftReceiver, leftTarget, leftFlipped)); 141var leftSubpattern = CreateSubpattern(leftNames, CreatePattern(leftReceiver, leftTarget, leftFlipped)); 142var rightSubpattern = CreateSubpattern(rightNames, CreatePattern(rightReceiver, rightTarget, rightFlipped)); 242static PatternSyntax AddSubpattern(PatternSyntax containingPattern, SubpatternSyntax subpattern) 380private static SubpatternSyntax CreateSubpattern(ImmutableArray<IdentifierNameSyntax> names, PatternSyntax pattern) 393var subpattern = Subpattern(names[0], pattern); 400private static SubpatternSyntax Subpattern(IdentifierNameSyntax name, PatternSyntax pattern) 403private static RecursivePatternSyntax RecursivePattern(params ReadOnlySpan<SubpatternSyntax> subpatterns) 406private static RecursivePatternSyntax RecursivePattern(TypeSyntax? type, SubpatternSyntax subpattern, VariableDesignationSyntax? designation) 409private static RecursivePatternSyntax RecursivePattern(SubpatternSyntax subpattern)
Completion\CompletionProviders\PropertySubPatternCompletionProvider.cs (4)
170private static (PropertyPatternClauseSyntax?, ExpressionSyntax?, SubpatternSyntax? editingSubpattern) TryGetPropertyPatternClause(SyntaxTree tree, int position, CancellationToken cancellationToken) 184SubpatternSyntax? editingSubpattern = null; 185if (tokenBeforeAdjustment.Parent is IdentifierNameSyntax { Parent: NameColonSyntax { Parent: SubpatternSyntax subpattern } }) 215if (memberAccess is { Parent.Parent: SubpatternSyntax { Parent: PropertyPatternClauseSyntax found } })
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyPropertyPattern\CSharpSimplifyPropertyPatternDiagnosticAnalyzer.cs (2)
58var subpattern = (SubpatternSyntax)syntaxContext.Node;
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyPropertyPattern\SimplifyPropertyPatternHelpers.cs (2)
13SubpatternSyntax subpattern, 14[NotNullWhen(true)] out SubpatternSyntax? innerSubpattern,
src\roslyn\src\Analyzers\CSharp\CodeFixes\SimplifyPropertyPattern\CSharpSimplifyPropertyPatternCodeFixProvider.cs (8)
43var subpatterns = diagnostics.Select(d => (SubpatternSyntax)d.AdditionalLocations[0].FindNode(cancellationToken)) 47foreach (var subpattern in subpatterns) 53var currentSubpattern = (SubpatternSyntax)current; 54var simplified = TrySimplify(currentSubpattern); 60private static SubpatternSyntax? TrySimplify(SubpatternSyntax currentSubpattern) 62if (!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)
771if (node.Parent is SubpatternSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (7)
180SubpatternSyntax subpattern => InferTypeInSubpattern(subpattern, node), 1543SubpatternSyntax subpattern, 1648foreach (var subPattern in positionalPart.Subpatterns) 1741SubpatternSyntax subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern), 1756SubpatternSyntax subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern), 1929if (nameColon.Parent is SubpatternSyntax subpattern) 1939if (expressionColon.Parent is SubpatternSyntax subpattern)
Roslyn.Diagnostics.CSharp.Analyzers (8)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
771if (node.Parent is SubpatternSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (7)
180SubpatternSyntax subpattern => InferTypeInSubpattern(subpattern, node), 1543SubpatternSyntax subpattern, 1648foreach (var subPattern in positionalPart.Subpatterns) 1741SubpatternSyntax subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern), 1756SubpatternSyntax subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern), 1929if (nameColon.Parent is SubpatternSyntax subpattern) 1939if (expressionColon.Parent is SubpatternSyntax subpattern)