12 types derived from PatternSyntax
Microsoft.CodeAnalysis.CSharp (12)
Syntax.xml.Syntax.Generated.cs (12)
5200public sealed partial class DiscardPatternSyntax : PatternSyntax 5238public sealed partial class DeclarationPatternSyntax : PatternSyntax 5293public sealed partial class VarPatternSyntax : PatternSyntax 5335public sealed partial class RecursivePatternSyntax : PatternSyntax 5576public sealed partial class ConstantPatternSyntax : PatternSyntax 5616public sealed partial class ParenthesizedPatternSyntax : PatternSyntax 5661public sealed partial class RelationalPatternSyntax : PatternSyntax 5704public sealed partial class TypePatternSyntax : PatternSyntax 5745public sealed partial class BinaryPatternSyntax : PatternSyntax 5803public sealed partial class UnaryPatternSyntax : PatternSyntax 5845public sealed partial class ListPatternSyntax : PatternSyntax 5915public sealed partial class SlicePatternSyntax : PatternSyntax
256 references to PatternSyntax
Microsoft.CodeAnalysis.CSharp (87)
Binder\Binder_Patterns.cs (4)
165PatternSyntax node, 260SeparatedSyntaxList<PatternSyntax> subpatterns, 270foreach (PatternSyntax pattern in subpatterns) 1473PatternSyntax pattern = p.Pattern;
Binder\ExpressionVariableFinder.cs (2)
346PatternSyntax currentPattern = node; 348var rightPatternStack = ArrayBuilder<PatternSyntax>.GetInstance();
BoundTree\BoundTreeVisitors.cs (3)
187if (syntax is not (ExpressionSyntax or PatternSyntax)) 189syntax = syntax.DescendantNodes(n => n is not (ExpressionSyntax or PatternSyntax)).FirstOrDefault(n => n is ExpressionSyntax or PatternSyntax) ?? syntax;
Compilation\CSharpSemanticModel.cs (2)
939public TypeInfo GetTypeInfo(PatternSyntax pattern, CancellationToken cancellationToken = default(CancellationToken)) 4995case PatternSyntax pattern:
Compilation\MemberSemanticModel.cs (1)
2259!(node is PatternSyntax))
Syntax.xml.Main.Generated.cs (32)
1762=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.IsKeyword), (PatternSyntax?)Visit(node.Pattern) ?? throw new ArgumentNullException("pattern")); 1789=> node.Update((BaseExpressionColonSyntax?)Visit(node.ExpressionColon), (PatternSyntax?)Visit(node.Pattern) ?? throw new ArgumentNullException("pattern")); 1795=> node.Update(VisitToken(node.OpenParenToken), (PatternSyntax?)Visit(node.Pattern) ?? throw new ArgumentNullException("pattern"), VisitToken(node.CloseParenToken)); 1804=> node.Update((PatternSyntax?)Visit(node.Left) ?? throw new ArgumentNullException("left"), VisitToken(node.OperatorToken), (PatternSyntax?)Visit(node.Right) ?? throw new ArgumentNullException("right")); 1807=> node.Update(VisitToken(node.OperatorToken), (PatternSyntax?)Visit(node.Pattern) ?? throw new ArgumentNullException("pattern")); 1813=> node.Update(VisitToken(node.DotDotToken), (PatternSyntax?)Visit(node.Pattern)); 1927=> node.Update(VisitToken(node.Keyword), (PatternSyntax?)Visit(node.Pattern) ?? throw new ArgumentNullException("pattern"), (WhenClauseSyntax?)Visit(node.WhenClause), VisitToken(node.ColonToken)); 1939=> node.Update((PatternSyntax?)Visit(node.Pattern) ?? throw new ArgumentNullException("pattern"), (WhenClauseSyntax?)Visit(node.WhenClause), VisitToken(node.EqualsGreaterThanToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 3674public static IsPatternExpressionSyntax IsPatternExpression(ExpressionSyntax expression, SyntaxToken isKeyword, PatternSyntax pattern) 3683public static IsPatternExpressionSyntax IsPatternExpression(ExpressionSyntax expression, PatternSyntax pattern) 3776public static SubpatternSyntax Subpattern(BaseExpressionColonSyntax? expressionColon, PatternSyntax pattern) 3783public static SubpatternSyntax Subpattern(PatternSyntax pattern) 3794public static ParenthesizedPatternSyntax ParenthesizedPattern(SyntaxToken openParenToken, PatternSyntax pattern, SyntaxToken closeParenToken) 3803public static ParenthesizedPatternSyntax ParenthesizedPattern(PatternSyntax pattern) 3831public static BinaryPatternSyntax BinaryPattern(SyntaxKind kind, PatternSyntax left, SyntaxToken operatorToken, PatternSyntax right) 3851public static BinaryPatternSyntax BinaryPattern(SyntaxKind kind, PatternSyntax left, PatternSyntax right) 3863public static UnaryPatternSyntax UnaryPattern(SyntaxToken operatorToken, PatternSyntax pattern) 3871public static UnaryPatternSyntax UnaryPattern(PatternSyntax pattern) 3875public static ListPatternSyntax ListPattern(SyntaxToken openBracketToken, SeparatedSyntaxList<PatternSyntax> patterns, SyntaxToken closeBracketToken, VariableDesignationSyntax? designation) 3883public static ListPatternSyntax ListPattern(SeparatedSyntaxList<PatternSyntax> patterns, VariableDesignationSyntax? designation) 3887public static ListPatternSyntax ListPattern(SeparatedSyntaxList<PatternSyntax> patterns = default) 3891public static SlicePatternSyntax SlicePattern(SyntaxToken dotDotToken, PatternSyntax? pattern) 3898public static SlicePatternSyntax SlicePattern(PatternSyntax? pattern = default) 4589public static CasePatternSwitchLabelSyntax CasePatternSwitchLabel(SyntaxToken keyword, PatternSyntax pattern, WhenClauseSyntax? whenClause, SyntaxToken colonToken) 4598public static CasePatternSwitchLabelSyntax CasePatternSwitchLabel(PatternSyntax pattern, WhenClauseSyntax? whenClause, SyntaxToken colonToken) 4602public static CasePatternSwitchLabelSyntax CasePatternSwitchLabel(PatternSyntax pattern, SyntaxToken colonToken) 4649public static SwitchExpressionArmSyntax SwitchExpressionArm(PatternSyntax pattern, WhenClauseSyntax? whenClause, SyntaxToken equalsGreaterThanToken, ExpressionSyntax expression) 4658public static SwitchExpressionArmSyntax SwitchExpressionArm(PatternSyntax pattern, WhenClauseSyntax? whenClause, ExpressionSyntax expression) 4662public static SwitchExpressionArmSyntax SwitchExpressionArm(PatternSyntax pattern, ExpressionSyntax expression)
Syntax.xml.Syntax.Generated.cs (41)
5051private PatternSyntax? pattern; 5064public PatternSyntax Pattern => GetRed(ref this.pattern, 2)!; 5085public IsPatternExpressionSyntax Update(ExpressionSyntax expression, SyntaxToken isKeyword, PatternSyntax pattern) 5099public IsPatternExpressionSyntax WithPattern(PatternSyntax pattern) => Update(this.Expression, this.IsKeyword, pattern); 5524private PatternSyntax? pattern; 5533public PatternSyntax Pattern => GetRed(ref this.pattern, 1)!; 5554public SubpatternSyntax Update(BaseExpressionColonSyntax? expressionColon, PatternSyntax pattern) 5567public SubpatternSyntax WithPattern(PatternSyntax pattern) => Update(this.ExpressionColon, pattern); 5618private PatternSyntax? pattern; 5627public PatternSyntax Pattern => GetRed(ref this.pattern, 1)!; 5638public ParenthesizedPatternSyntax Update(SyntaxToken openParenToken, PatternSyntax pattern, SyntaxToken closeParenToken) 5651public ParenthesizedPatternSyntax WithPattern(PatternSyntax pattern) => Update(this.OpenParenToken, pattern, this.CloseParenToken); 5747private PatternSyntax? left; 5748private PatternSyntax? right; 5755public PatternSyntax Left => GetRedAtZero(ref this.left)!; 5759public PatternSyntax Right => GetRed(ref this.right, 2)!; 5780public BinaryPatternSyntax Update(PatternSyntax left, SyntaxToken operatorToken, PatternSyntax right) 5792public BinaryPatternSyntax WithLeft(PatternSyntax left) => Update(left, this.OperatorToken, this.Right); 5794public BinaryPatternSyntax WithRight(PatternSyntax right) => Update(this.Left, this.OperatorToken, right); 5805private PatternSyntax? pattern; 5814public PatternSyntax Pattern => GetRed(ref this.pattern, 1)!; 5823public UnaryPatternSyntax Update(SyntaxToken operatorToken, PatternSyntax pattern) 5836public UnaryPatternSyntax WithPattern(PatternSyntax pattern) => Update(this.OperatorToken, pattern); 5857public SeparatedSyntaxList<PatternSyntax> Patterns 5862return red != null ? new SeparatedSyntaxList<PatternSyntax>(red, GetChildIndex(1)) : default; 5889public ListPatternSyntax Update(SyntaxToken openBracketToken, SeparatedSyntaxList<PatternSyntax> patterns, SyntaxToken closeBracketToken, VariableDesignationSyntax? designation) 5902public ListPatternSyntax WithPatterns(SeparatedSyntaxList<PatternSyntax> patterns) => Update(this.OpenBracketToken, patterns, this.CloseBracketToken, this.Designation); 5906public ListPatternSyntax AddPatterns(params PatternSyntax[] items) => WithPatterns(this.Patterns.AddRange(items)); 5917private PatternSyntax? pattern; 5926public PatternSyntax? Pattern => GetRed(ref this.pattern, 1); 5935public SlicePatternSyntax Update(SyntaxToken dotDotToken, PatternSyntax? pattern) 5948public SlicePatternSyntax WithPattern(PatternSyntax? pattern) => Update(this.DotDotToken, pattern); 8655private PatternSyntax? pattern; 8669public PatternSyntax Pattern => GetRed(ref this.pattern, 1)!; 8694public CasePatternSwitchLabelSyntax Update(SyntaxToken keyword, PatternSyntax pattern, WhenClauseSyntax? whenClause, SyntaxToken colonToken) 8708public CasePatternSwitchLabelSyntax WithPattern(PatternSyntax pattern) => Update(this.Keyword, pattern, this.WhenClause, this.ColonToken); 8892private PatternSyntax? pattern; 8901public PatternSyntax Pattern => GetRedAtZero(ref this.pattern)!; 8930public SwitchExpressionArmSyntax Update(PatternSyntax pattern, WhenClauseSyntax? whenClause, SyntaxToken equalsGreaterThanToken, ExpressionSyntax expression) 8942public SwitchExpressionArmSyntax WithPattern(PatternSyntax pattern) => Update(pattern, this.WhenClause, this.EqualsGreaterThanToken, this.Expression);
Syntax\SubpatternSyntax.cs (2)
16public SubpatternSyntax Update(NameColonSyntax? nameColon, PatternSyntax pattern) 25public static SubpatternSyntax Subpattern(NameColonSyntax? nameColon, PatternSyntax pattern)
Microsoft.CodeAnalysis.CSharp.CodeStyle (22)
src\Analyzers\CSharp\Analyzers\AddRequiredParentheses\CSharpAddRequiredPatternParenthesesDiagnosticAnalyzer.cs (6)
18PatternSyntax, BinaryPatternSyntax, SyntaxKind>(CSharpPatternPrecedenceService.Instance) 28protected override bool IsBinaryLike(PatternSyntax node) 31protected override (PatternSyntax, SyntaxToken, PatternSyntax) GetPartsOfBinaryLike(BinaryPatternSyntax binaryPattern) 37protected override PatternSyntax? TryGetAppropriateParent(BinaryPatternSyntax binaryLike) 38=> binaryLike.Parent as PatternSyntax;
src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryPatternParenthesesDiagnosticAnalyzer.cs (2)
46var inner = parenthesizedPattern.Pattern; 51if (parenthesizedPattern.Parent is not PatternSyntax)
src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (1)
51var pattern = patternExpression.Pattern;
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\AnalyzedPattern.cs (2)
84internal sealed class Source(PatternSyntax patternSyntax, IOperation target) : AnalyzedPattern(target) 86public readonly PatternSyntax PatternSyntax = patternSyntax;
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsAnalyzer.cs (1)
64case IIsPatternOperation { Pattern.Syntax: PatternSyntax pattern } op:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (5)
714var pattern = node.Pattern; 759return node.Parent is PatternSyntax patternParent && 764ParenthesizedPatternSyntax node, PatternSyntax parentPattern) 766var pattern = node.Pattern; 779public static OperatorPrecedence GetOperatorPrecedence(this PatternSyntax pattern)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\Precedence\CSharpPatternPrecedenceService.cs (2)
12internal sealed class CSharpPatternPrecedenceService : AbstractCSharpPrecedenceService<PatternSyntax> 20public override OperatorPrecedence GetOperatorPrecedence(PatternSyntax pattern)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
993return node is PatternSyntax ? null : node; 1395=> node is PatternSyntax;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
193if (isDefaultLiteralCast && castNode.WalkUpParentheses().Parent is PatternSyntax or CaseSwitchLabelSyntax)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (25)
src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (4)
130private static PatternSyntax GetPattern(SyntaxList<SwitchLabelSyntax> switchLabels, out WhenClauseSyntax? whenClause) 143var totalPattern = GetPattern(switchLabels[0], out var whenClauseUnused); 148var nextPatternPart = GetPattern(switchLabels[i], out whenClauseUnused); 158private static PatternSyntax GetPattern(SwitchLabelSyntax switchLabel, out WhenClauseSyntax? whenClause)
src\Analyzers\CSharp\CodeFixes\UsePatternCombinators\CSharpUsePatternCombinatorsCodeFixProvider.cs (5)
85var patternSyntax = AsPatternSyntax(pattern).WithAdditionalAnnotations(Formatter.Annotation); 90private static PatternSyntax AsPatternSyntax(AnalyzedPattern pattern) 109private static PatternSyntax ProcessNotPattern(Not notPattern) 112var underlyingPattern = AsPatternSyntax(notPattern.Pattern); 113var unwrapped = underlyingPattern;
src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndMemberAccessCodeFixProvider.cs (2)
117static (SyntaxToken notKeyword, PatternSyntax pattern) CreatePattern( 137PatternSyntax pattern = binaryExpression.Kind() switch
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (2)
1471var patternSyntax = leftToken.GetAncestor<PatternSyntax>();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ExpressionSyntaxExtensions.cs (3)
69public static PatternSyntax Parenthesize( 70this PatternSyntax pattern, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) 72var withoutTrivia = pattern.WithoutTrivia();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (8)
93PatternSyntax pattern => pattern.Parenthesize(includeElasticTrivia, addSimplifierAnnotation), 202(PatternSyntax)pattern); 205=> SyntaxFactory.BinaryPattern(SyntaxKind.AndPattern, (PatternSyntax)Parenthesize(left), (PatternSyntax)Parenthesize(right)); 228=> SyntaxFactory.UnaryPattern(NotKeyword, (PatternSyntax)Parenthesize(pattern)); 231=> SyntaxFactory.BinaryPattern(SyntaxKind.OrPattern, (PatternSyntax)Parenthesize(left), (PatternSyntax)Parenthesize(right)); 240=> SyntaxFactory.UnaryPattern(operatorToken, (PatternSyntax)Parenthesize(pattern));
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
1530private IEnumerable<TypeInferenceInfo> GetPatternTypes(PatternSyntax pattern)
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (9)
Semantics\PatternMatchingTests2.cs (5)
2160foreach (var pat in tree.GetRoot().DescendantNodesAndSelf().OfType<PatternSyntax>()) 2251var patterns = tree.GetRoot().DescendantNodesAndSelf().OfType<PatternSyntax>().ToArray(); 2295var patterns = tree.GetRoot().DescendantNodesAndSelf().OfType<PatternSyntax>().ToArray(); 2341var patterns = tree.GetRoot().DescendantNodesAndSelf().OfType<PatternSyntax>().ToArray();
Semantics\PatternMatchingTests3.cs (4)
4107var patterns = tree.GetRoot().DescendantNodes().OfType<PatternSyntax>().ToArray(); 4111var pattern = patterns[i]; 4334var patterns = tree.GetRoot().DescendantNodes().OfType<PatternSyntax>().ToArray(); 4338var pattern = patterns[i];
Microsoft.CodeAnalysis.CSharp.Features (58)
CodeRefactorings\UseRecursivePatterns\UseRecursivePatternsCodeRefactoringProvider.cs (23)
35private static readonly PatternSyntax s_trueConstantPattern = ConstantPattern(LiteralExpression(TrueLiteralExpression)); 36private static readonly PatternSyntax s_falseConstantPattern = ConstantPattern(LiteralExpression(FalseLiteralExpression)); 112var rightPattern = CreatePattern(rightReceiver, rightTarget, rightFlipped); 113var rewrittenPattern = RewriteContainingPattern(containingPattern, rightPattern, rightNamesOpt); 162private static Func<SyntaxNode, SyntaxNode>? CombineWhenClauseCondition(PatternSyntax switchPattern, ExpressionSyntax condition, SemanticModel model) 189var generatedPattern = CreatePattern(receiver, target, flipped); 190var rewrittenPattern = RewriteContainingPattern(containingPattern, generatedPattern, namesOpt); 196private static PatternSyntax RewriteContainingPattern( 197PatternSyntax containingPattern, 198PatternSyntax generatedPattern, 203var rewrittenPattern = namesOpt.IsDefault 211static PatternSyntax Combine(PatternSyntax containingPattern, PatternSyntax generatedPattern) 242static PatternSyntax AddSubpattern(PatternSyntax containingPattern, SubpatternSyntax subpattern) 268private static PatternSyntax CreatePattern(ExpressionSyntax originalReceiver, ExpressionOrPatternSyntax target, bool flipped) 273PatternSyntax pattern => pattern, 303private static (PatternSyntax ContainingPattern, ImmutableArray<IdentifierNameSyntax> NamesOpt)? TryFindVariableDesignation( 304PatternSyntax leftPattern, 318if (designation is not { Parent: PatternSyntax(not SyntaxKind.ListPattern) containingPattern }) 380private static SubpatternSyntax CreateSubpattern(ImmutableArray<IdentifierNameSyntax> names, PatternSyntax pattern) 400private static SubpatternSyntax Subpattern(IdentifierNameSyntax name, PatternSyntax pattern)
Completion\CompletionProviders\CSharpSuggestionModeCompletionProvider.cs (4)
210var patternSyntax = token.GetAncestor<PatternSyntax>(); 216for (var current = patternSyntax; current != null; current = current.Parent as PatternSyntax)
Completion\CompletionProviders\PropertySubPatternCompletionProvider.cs (2)
58var propertyPatternType = semanticModel.GetTypeInfo((PatternSyntax)propertyPatternClause.Parent!, cancellationToken).ConvertedType; 181return token.Parent is PropertyPatternClauseSyntax { Parent: PatternSyntax } propertyPatternClause
Completion\KeywordRecommenders\WhenKeywordRecommender.cs (2)
28var pattern = context.TargetToken.GetAncestors<PatternSyntax>().LastOrDefault();
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.cs (1)
20: AbstractConvertIfToSwitchCodeRefactoringProvider<IfStatementSyntax, ExpressionSyntax, BinaryExpressionSyntax, PatternSyntax>
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.Rewriting.cs (3)
42var pattern = AsPatternSyntax(section.Labels[0].Pattern, feature); 51var nextPattern = AsPatternSyntax(label.Pattern, feature); 95private static PatternSyntax AsPatternSyntax(AnalyzedPattern pattern, Feature feature)
src\Analyzers\CSharp\Analyzers\AddRequiredParentheses\CSharpAddRequiredPatternParenthesesDiagnosticAnalyzer.cs (6)
18PatternSyntax, BinaryPatternSyntax, SyntaxKind>(CSharpPatternPrecedenceService.Instance) 28protected override bool IsBinaryLike(PatternSyntax node) 31protected override (PatternSyntax, SyntaxToken, PatternSyntax) GetPartsOfBinaryLike(BinaryPatternSyntax binaryPattern) 37protected override PatternSyntax? TryGetAppropriateParent(BinaryPatternSyntax binaryLike) 38=> binaryLike.Parent as PatternSyntax;
src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryPatternParenthesesDiagnosticAnalyzer.cs (2)
46var inner = parenthesizedPattern.Pattern; 51if (parenthesizedPattern.Parent is not PatternSyntax)
src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (1)
51var pattern = patternExpression.Pattern;
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\AnalyzedPattern.cs (2)
84internal sealed class Source(PatternSyntax patternSyntax, IOperation target) : AnalyzedPattern(target) 86public readonly PatternSyntax PatternSyntax = patternSyntax;
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsAnalyzer.cs (1)
64case IIsPatternOperation { Pattern.Syntax: PatternSyntax pattern } op:
src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (4)
130private static PatternSyntax GetPattern(SyntaxList<SwitchLabelSyntax> switchLabels, out WhenClauseSyntax? whenClause) 143var totalPattern = GetPattern(switchLabels[0], out var whenClauseUnused); 148var nextPatternPart = GetPattern(switchLabels[i], out whenClauseUnused); 158private static PatternSyntax GetPattern(SwitchLabelSyntax switchLabel, out WhenClauseSyntax? whenClause)
src\Analyzers\CSharp\CodeFixes\UsePatternCombinators\CSharpUsePatternCombinatorsCodeFixProvider.cs (5)
85var patternSyntax = AsPatternSyntax(pattern).WithAdditionalAnnotations(Formatter.Annotation); 90private static PatternSyntax AsPatternSyntax(AnalyzedPattern pattern) 109private static PatternSyntax ProcessNotPattern(Not notPattern) 112var underlyingPattern = AsPatternSyntax(notPattern.Pattern); 113var unwrapped = underlyingPattern;
src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndMemberAccessCodeFixProvider.cs (2)
117static (SyntaxToken notKeyword, PatternSyntax pattern) CreatePattern( 137PatternSyntax pattern = binaryExpression.Kind() switch
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (2)
Generated\Syntax.Test.xml.Generated.cs (2)
10667=> SyntaxFactory.ListPattern(SyntaxFactory.Token(SyntaxKind.OpenBracketToken), new SeparatedSyntaxList<PatternSyntax>(), SyntaxFactory.Token(SyntaxKind.CloseBracketToken), default(VariableDesignationSyntax)); 10670=> SyntaxFactory.SlicePattern(SyntaxFactory.Token(SyntaxKind.DotDotToken), default(PatternSyntax));
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
CompilationTestUtils.cs (1)
271else if (node is PatternSyntax pattern)
Microsoft.CodeAnalysis.CSharp.Workspaces (28)
Simplification\Reducers\AbstractCSharpReducer.AbstractReductionRewriter.cs (4)
73PatternSyntax pattern => GetParentNode(pattern), 96private static SyntaxNode GetParentNode(PatternSyntax pattern) 98var lastPattern = pattern; 101if (current is PatternSyntax currentPattern)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (5)
714var pattern = node.Pattern; 759return node.Parent is PatternSyntax patternParent && 764ParenthesizedPatternSyntax node, PatternSyntax parentPattern) 766var pattern = node.Pattern; 779public static OperatorPrecedence GetOperatorPrecedence(this PatternSyntax pattern)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\Precedence\CSharpPatternPrecedenceService.cs (2)
12internal sealed class CSharpPatternPrecedenceService : AbstractCSharpPrecedenceService<PatternSyntax> 20public override OperatorPrecedence GetOperatorPrecedence(PatternSyntax pattern)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
993return node is PatternSyntax ? null : node; 1395=> node is PatternSyntax;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
193if (isDefaultLiteralCast && castNode.WalkUpParentheses().Parent is PatternSyntax or CaseSwitchLabelSyntax)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (2)
1471var patternSyntax = leftToken.GetAncestor<PatternSyntax>();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ExpressionSyntaxExtensions.cs (3)
69public static PatternSyntax Parenthesize( 70this PatternSyntax pattern, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) 72var withoutTrivia = pattern.WithoutTrivia();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (8)
93PatternSyntax pattern => pattern.Parenthesize(includeElasticTrivia, addSimplifierAnnotation), 202(PatternSyntax)pattern); 205=> SyntaxFactory.BinaryPattern(SyntaxKind.AndPattern, (PatternSyntax)Parenthesize(left), (PatternSyntax)Parenthesize(right)); 228=> SyntaxFactory.UnaryPattern(NotKeyword, (PatternSyntax)Parenthesize(pattern)); 231=> SyntaxFactory.BinaryPattern(SyntaxKind.OrPattern, (PatternSyntax)Parenthesize(left), (PatternSyntax)Parenthesize(right)); 240=> SyntaxFactory.UnaryPattern(operatorToken, (PatternSyntax)Parenthesize(pattern));
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
1530private IEnumerable<TypeInferenceInfo> GetPatternTypes(PatternSyntax pattern)
Roslyn.Diagnostics.CSharp.Analyzers (24)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (5)
714var pattern = node.Pattern; 759return node.Parent is PatternSyntax patternParent && 764ParenthesizedPatternSyntax node, PatternSyntax parentPattern) 766var pattern = node.Pattern; 779public static OperatorPrecedence GetOperatorPrecedence(this PatternSyntax pattern)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\Precedence\CSharpPatternPrecedenceService.cs (2)
12internal sealed class CSharpPatternPrecedenceService : AbstractCSharpPrecedenceService<PatternSyntax> 20public override OperatorPrecedence GetOperatorPrecedence(PatternSyntax pattern)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
993return node is PatternSyntax ? null : node; 1395=> node is PatternSyntax;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
193if (isDefaultLiteralCast && castNode.WalkUpParentheses().Parent is PatternSyntax or CaseSwitchLabelSyntax)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (2)
1471var patternSyntax = leftToken.GetAncestor<PatternSyntax>();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ExpressionSyntaxExtensions.cs (3)
69public static PatternSyntax Parenthesize( 70this PatternSyntax pattern, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) 72var withoutTrivia = pattern.WithoutTrivia();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (8)
93PatternSyntax pattern => pattern.Parenthesize(includeElasticTrivia, addSimplifierAnnotation), 202(PatternSyntax)pattern); 205=> SyntaxFactory.BinaryPattern(SyntaxKind.AndPattern, (PatternSyntax)Parenthesize(left), (PatternSyntax)Parenthesize(right)); 228=> SyntaxFactory.UnaryPattern(NotKeyword, (PatternSyntax)Parenthesize(pattern)); 231=> SyntaxFactory.BinaryPattern(SyntaxKind.OrPattern, (PatternSyntax)Parenthesize(left), (PatternSyntax)Parenthesize(right)); 240=> SyntaxFactory.UnaryPattern(operatorToken, (PatternSyntax)Parenthesize(pattern));
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
1530private IEnumerable<TypeInferenceInfo> GetPatternTypes(PatternSyntax pattern)