75 references to SubpatternSyntax
Microsoft.CodeAnalysis.CSharp (7)
Binder\Binder_Patterns.cs (4)
1055var subPattern = node.Subpatterns[i]; 1106foreach (var subpatternSyntax in node.Subpatterns) 1161var subpatternSyntax = node.Subpatterns[i]; 1457foreach (SubpatternSyntax p in node.Subpatterns)
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)
CSharpSimplifyPropertyPatternDiagnosticAnalyzer.cs (2)
60var subpattern = (SubpatternSyntax)syntaxContext.Node;
ParenthesizedExpressionSyntaxExtensions.cs (1)
719if (node.Parent is SubpatternSyntax)
SimplifyPropertyPatternHelpers.cs (2)
14SubpatternSyntax subpattern, 15[NotNullWhen(true)] out SubpatternSyntax? innerSubpattern,
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (15)
CSharpSimplifyPropertyPatternCodeFixProvider.cs (8)
49var subpatterns = diagnostics.Select(d => (SubpatternSyntax)d.AdditionalLocations[0].FindNode(cancellationToken)) 53foreach (var subpattern in subpatterns) 59var currentSubpattern = (SubpatternSyntax)current; 60var simplified = TrySimplify(currentSubpattern); 68private static SubpatternSyntax? TrySimplify(SubpatternSyntax currentSubpattern) 70if (!SimplifyPropertyPatternHelpers.IsSimplifiable(currentSubpattern, out var innerSubpattern, out var outerExpressionColon))
CSharpTypeInferenceService.TypeInferrer.cs (7)
178SubpatternSyntax subpattern => InferTypeInSubpattern(subpattern, node), 1491SubpatternSyntax subpattern, 1596foreach (var subPattern in positionalPart.Subpatterns) 1698SubpatternSyntax subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern), 1713SubpatternSyntax subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern), 1888if (nameColon.Parent is SubpatternSyntax subpattern) 1898if (expressionColon.Parent is SubpatternSyntax subpattern)
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (11)
Semantics\PatternMatchingTests3.cs (7)
49var subpatterns = tree.GetRoot().DescendantNodes().OfType<SubpatternSyntax>().ToArray(); 109var subpatterns = tree.GetRoot().DescendantNodes().OfType<SubpatternSyntax>().ToArray(); 160var subpatterns = tree.GetRoot().DescendantNodes().OfType<SubpatternSyntax>().ToArray(); 205var subpatterns = tree.GetRoot().DescendantNodes().OfType<SubpatternSyntax>().ToArray(); 256var subpatterns = tree.GetRoot().DescendantNodes().OfType<SubpatternSyntax>().ToArray(); 299var subpatterns = tree.GetRoot().DescendantNodes().OfType<SubpatternSyntax>().ToArray(); 346var subpatterns = tree.GetRoot().DescendantNodes().OfType<SubpatternSyntax>().ToArray();
Semantics\PatternMatchingTests5.cs (4)
1106var subpatterns = tree.GetRoot().DescendantNodes().OfType<SubpatternSyntax>().ToArray(); 1186var subpatterns = tree.GetRoot().DescendantNodes().OfType<SubpatternSyntax>().ToArray(); 1237var subpatterns = tree.GetRoot().DescendantNodes().OfType<SubpatternSyntax>().ToArray(); 1289var subpatterns = tree.GetRoot().DescendantNodes().OfType<SubpatternSyntax>().ToArray();
Microsoft.CodeAnalysis.CSharp.Features (22)
CodeRefactorings\UseRecursivePatterns\UseRecursivePatternsCodeRefactoringProvider.cs (9)
124var leftSubpattern = CreateSubpattern(leftNames, CreatePattern(leftReceiver, leftTarget, leftFlipped)); 125var rightSubpattern = CreateSubpattern(rightNames, CreatePattern(rightReceiver, rightTarget, rightFlipped)); 224static PatternSyntax AddSubpattern(PatternSyntax containingPattern, SubpatternSyntax subpattern) 362private static SubpatternSyntax CreateSubpattern(ImmutableArray<IdentifierNameSyntax> names, PatternSyntax pattern) 375var subpattern = Subpattern(names[0], pattern); 382private static SubpatternSyntax Subpattern(IdentifierNameSyntax name, PatternSyntax pattern) 385private static RecursivePatternSyntax RecursivePattern(params SubpatternSyntax[] subpatterns) 388private static RecursivePatternSyntax RecursivePattern(TypeSyntax? type, SubpatternSyntax subpattern, VariableDesignationSyntax? designation) 391private static RecursivePatternSyntax RecursivePattern(SubpatternSyntax subpattern)
Completion\CompletionProviders\PropertySubPatternCompletionProvider.cs (1)
206if (memberAccess is { Parent.Parent: SubpatternSyntax { Parent: PropertyPatternClauseSyntax found } })
CSharpSimplifyPropertyPatternCodeFixProvider.cs (8)
49var subpatterns = diagnostics.Select(d => (SubpatternSyntax)d.AdditionalLocations[0].FindNode(cancellationToken)) 53foreach (var subpattern in subpatterns) 59var currentSubpattern = (SubpatternSyntax)current; 60var simplified = TrySimplify(currentSubpattern); 68private static SubpatternSyntax? TrySimplify(SubpatternSyntax currentSubpattern) 70if (!SimplifyPropertyPatternHelpers.IsSimplifiable(currentSubpattern, out var innerSubpattern, out var outerExpressionColon))
CSharpSimplifyPropertyPatternDiagnosticAnalyzer.cs (2)
60var subpattern = (SubpatternSyntax)syntaxContext.Node;
SimplifyPropertyPatternHelpers.cs (2)
14SubpatternSyntax subpattern, 15[NotNullWhen(true)] out SubpatternSyntax? innerSubpattern,
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (7)
Generated\Syntax.Test.xml.Generated.cs (7)
10254=> SyntaxFactory.PositionalPatternClause(SyntaxFactory.Token(SyntaxKind.OpenParenToken), new SeparatedSyntaxList<SubpatternSyntax>(), SyntaxFactory.Token(SyntaxKind.CloseParenToken)); 10257=> SyntaxFactory.PropertyPatternClause(SyntaxFactory.Token(SyntaxKind.OpenBraceToken), new SeparatedSyntaxList<SubpatternSyntax>(), SyntaxFactory.Token(SyntaxKind.CloseBraceToken)); 10259private static SubpatternSyntax GenerateSubpattern() 11777var node = GenerateSubpattern(); 11781var newNode = node.WithExpressionColon(node.ExpressionColon).WithPattern(node.Pattern); 16115var oldNode = GenerateSubpattern(); 16131var oldNode = GenerateSubpattern();
Microsoft.CodeAnalysis.CSharp.Workspaces (8)
CSharpTypeInferenceService.TypeInferrer.cs (7)
178SubpatternSyntax subpattern => InferTypeInSubpattern(subpattern, node), 1491SubpatternSyntax subpattern, 1596foreach (var subPattern in positionalPart.Subpatterns) 1698SubpatternSyntax subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern), 1713SubpatternSyntax subPattern => InferTypeInSubpattern(subPattern, subPattern.Pattern), 1888if (nameColon.Parent is SubpatternSyntax subpattern) 1898if (expressionColon.Parent is SubpatternSyntax subpattern)
ParenthesizedExpressionSyntaxExtensions.cs (1)
719if (node.Parent is SubpatternSyntax)