1 instantiation of IsPatternExpressionSyntax
Microsoft.CodeAnalysis.CSharp (1)
_generated\1\Syntax.xml.Internal.Generated.cs (1)
8141internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.IsPatternExpressionSyntax(this, parent, position);
111 references to IsPatternExpressionSyntax
Microsoft.CodeAnalysis.CSharp (13)
_generated\0\Syntax.xml.Main.Generated.cs (6)
278public virtual TResult? VisitIsPatternExpression(IsPatternExpressionSyntax node) => this.DefaultVisit(node); 1026public virtual void VisitIsPatternExpression(IsPatternExpressionSyntax node) => this.DefaultVisit(node); 1773public override SyntaxNode? VisitIsPatternExpression(IsPatternExpressionSyntax node) 3700public static IsPatternExpressionSyntax IsPatternExpression(ExpressionSyntax expression, SyntaxToken isKeyword, PatternSyntax pattern) 3705return (IsPatternExpressionSyntax)Syntax.InternalSyntax.SyntaxFactory.IsPatternExpression((Syntax.InternalSyntax.ExpressionSyntax)expression.Green, (Syntax.InternalSyntax.SyntaxToken)isKeyword.Node!, (Syntax.InternalSyntax.PatternSyntax)pattern.Green).CreateRed(); 3709public static IsPatternExpressionSyntax IsPatternExpression(ExpressionSyntax expression, PatternSyntax pattern)
_generated\2\Syntax.xml.Syntax.Generated.cs (5)
5130public IsPatternExpressionSyntax Update(ExpressionSyntax expression, SyntaxToken isKeyword, PatternSyntax pattern) 5134var newNode = SyntaxFactory.IsPatternExpression(expression, isKeyword, pattern); 5142public IsPatternExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(expression, this.IsKeyword, this.Pattern); 5143public IsPatternExpressionSyntax WithIsKeyword(SyntaxToken isKeyword) => Update(this.Expression, isKeyword, this.Pattern); 5144public IsPatternExpressionSyntax WithPattern(PatternSyntax pattern) => Update(this.Expression, this.IsKeyword, pattern);
Binder\Binder_Expressions.cs (1)
844return BindIsPatternExpression((IsPatternExpressionSyntax)node, diagnostics);
Binder\Binder_Patterns.cs (1)
203private BoundExpression BindIsPatternExpression(IsPatternExpressionSyntax node, BindingDiagnosticBag diagnostics)
Microsoft.CodeAnalysis.CSharp.CodeStyle (22)
src\roslyn\src\Analyzers\CSharp\Analyzers\AddRequiredParentheses\CSharpAddRequiredExpressionParenthesesDiagnosticAnalyzer.cs (4)
55node is IsPatternExpressionSyntax { Pattern: ConstantPatternSyntax } || 57node is IsPatternExpressionSyntax { Pattern: UnaryPatternSyntax { Pattern: ConstantPatternSyntax } }; 65IsPatternExpressionSyntax { Pattern: ConstantPatternSyntax constantPattern } isPatternExpression => (isPatternExpression.Expression, isPatternExpression.IsKeyword, constantPattern.Expression), 66IsPatternExpressionSyntax { Pattern: UnaryPatternSyntax { Pattern: ConstantPatternSyntax constantPattern } } isPatternExpression => (isPatternExpression.Expression, isPatternExpression.IsKeyword, constantPattern.Expression),
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionDiagnosticAnalyzer.cs (1)
34IsPatternExpressionSyntax isPattern => isPattern.Expression,
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryDiscardDesignation\CSharpRemoveUnnecessaryDiscardDesignationDiagnosticAnalyzer.cs (1)
58if (declarationPattern.Parent is not IsPatternExpressionSyntax)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryExpressionParenthesesDiagnosticAnalyzer.cs (2)
77case IsPatternExpressionSyntax isPatternExpression: 82case ConstantPatternSyntax { Parent: IsPatternExpressionSyntax isPatternExpression }:
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckDiagnosticAnalyzer.cs (1)
47else if (condition is IsPatternExpressionSyntax { Pattern: ConstantPatternSyntax { Expression: LiteralExpressionSyntax(SyntaxKind.NullLiteralExpression) } } isPattern)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (1)
188else if (condition is IsPatternExpressionSyntax { Pattern: ConstantPatternSyntax { Expression: LiteralExpressionSyntax(SyntaxKind.NullLiteralExpression) } } isPattern)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (1)
49if (conditionNode is not IsPatternExpressionSyntax patternExpression)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndMemberAccessDiagnosticAnalyzer.cs (1)
66asExpression, out var conditionalAccessExpression, out var binaryExpression, out var isPatternExpression, out var requiredLanguageVersion))
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.cs (1)
75IsPatternExpressionSyntax isPattern => (isPattern.Expression, isPattern.Pattern),
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpUseNotPatternDiagnosticAnalyzer.cs (1)
75IsPatternExpressionSyntax { Pattern: DeclarationPatternSyntax or ConstantPatternSyntax } isPattern
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\UsePatternMatchingHelpers.cs (2)
18out IsPatternExpressionSyntax? isPatternExpression, 81else if (conditionalAccessExpression.Parent is IsPatternExpressionSyntax parentIsPatternExpression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (3)
368if (node.Parent is not ConstantPatternSyntax { Parent: IsPatternExpressionSyntax }) 744if (pattern is DiscardPatternSyntax && node.Parent is IsPatternExpressionSyntax) 763if (node.Parent is IsPatternExpressionSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
104if (node is IsPatternExpressionSyntax isPattern)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
1365var isPatternExpression = (IsPatternExpressionSyntax)node;
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (17)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionCodeFixProvider.cs (1)
79IsPatternExpressionSyntax isPattern => isPattern.Expression,
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessaryDiscardDesignation\CSharpRemoveUnnecessaryDiscardDesignationCodeFixProvider.cs (3)
45if (declarationPattern.Parent is IsPatternExpressionSyntax isPattern) 51var currentIsPattern = (IsPatternExpressionSyntax)current;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseIsNullCheckForCastAndEqualityOperatorCodeFixProvider.cs (3)
67var isPattern = RewriteWorker(binary); 87private static IsPatternExpressionSyntax RewriteWorker(BinaryExpressionSyntax binary) 92private static IsPatternExpressionSyntax Rewrite(
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndMemberAccessCodeFixProvider.cs (3)
53asExpression, out var conditionalAccessExpression, out var binaryExpression, out var isPatternExpression, out _)) 79var newIsExpression = IsPatternExpression( 115BinaryExpressionSyntax? binaryExpression, IsPatternExpressionSyntax? isPatternExpression)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndNullCheckCodeFixProvider.cs (2)
99: ((IsPatternExpressionSyntax)comparison).Pattern; 165var isPatternExpression = IsPatternExpression(asExpression.Left, declarationPattern);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpIsAndCastCheckCodeFixProvider.cs (2)
58var updatedCondition = SyntaxFactory.IsPatternExpression( 82IsPatternExpressionSyntax updatedCondition,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (1)
100declarationPattern.Parent is IsPatternExpressionSyntax isPatternExpression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (2)
165IsPatternExpressionSyntax isPatternExpression => InferTypeInIsPatternExpression(isPatternExpression, node), 1593IsPatternExpressionSyntax isPatternExpression,
Microsoft.CodeAnalysis.CSharp.Features (38)
CodeRefactorings\UseRecursivePatterns\UseRecursivePatternsCodeRefactoringProvider.cs (6)
105if (leftTarget.Parent is IsPatternExpressionSyntax isPatternExpression && 114var replacement = isPatternExpression.ReplaceNode(containingPattern, rewrittenPattern); 130var replacement = IsPatternExpression(commonReceiver, RecursivePattern(rightSubpattern)); 136var replacement = IsPatternExpression(commonReceiver, RecursivePattern(leftSubpattern)); 143var replacement = IsPatternExpression(commonReceiver, RecursivePattern(leftSubpattern, rightSubpattern)); 361IsPatternExpressionSyntax expr => (expr.Expression, expr.Pattern, Flipped: false),
GenerateType\CSharpGenerateTypeService.cs (1)
769if (propertyName.Parent is IsPatternExpressionSyntax isPatternExpression)
src\roslyn\src\Analyzers\CSharp\Analyzers\AddRequiredParentheses\CSharpAddRequiredExpressionParenthesesDiagnosticAnalyzer.cs (4)
55node is IsPatternExpressionSyntax { Pattern: ConstantPatternSyntax } || 57node is IsPatternExpressionSyntax { Pattern: UnaryPatternSyntax { Pattern: ConstantPatternSyntax } }; 65IsPatternExpressionSyntax { Pattern: ConstantPatternSyntax constantPattern } isPatternExpression => (isPatternExpression.Expression, isPatternExpression.IsKeyword, constantPattern.Expression), 66IsPatternExpressionSyntax { Pattern: UnaryPatternSyntax { Pattern: ConstantPatternSyntax constantPattern } } isPatternExpression => (isPatternExpression.Expression, isPatternExpression.IsKeyword, constantPattern.Expression),
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionDiagnosticAnalyzer.cs (1)
34IsPatternExpressionSyntax isPattern => isPattern.Expression,
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryDiscardDesignation\CSharpRemoveUnnecessaryDiscardDesignationDiagnosticAnalyzer.cs (1)
58if (declarationPattern.Parent is not IsPatternExpressionSyntax)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryExpressionParenthesesDiagnosticAnalyzer.cs (2)
77case IsPatternExpressionSyntax isPatternExpression: 82case ConstantPatternSyntax { Parent: IsPatternExpressionSyntax isPatternExpression }:
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckDiagnosticAnalyzer.cs (1)
47else if (condition is IsPatternExpressionSyntax { Pattern: ConstantPatternSyntax { Expression: LiteralExpressionSyntax(SyntaxKind.NullLiteralExpression) } } isPattern)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (1)
188else if (condition is IsPatternExpressionSyntax { Pattern: ConstantPatternSyntax { Expression: LiteralExpressionSyntax(SyntaxKind.NullLiteralExpression) } } isPattern)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (1)
49if (conditionNode is not IsPatternExpressionSyntax patternExpression)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndMemberAccessDiagnosticAnalyzer.cs (1)
66asExpression, out var conditionalAccessExpression, out var binaryExpression, out var isPatternExpression, out var requiredLanguageVersion))
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.cs (1)
75IsPatternExpressionSyntax isPattern => (isPattern.Expression, isPattern.Pattern),
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpUseNotPatternDiagnosticAnalyzer.cs (1)
75IsPatternExpressionSyntax { Pattern: DeclarationPatternSyntax or ConstantPatternSyntax } isPattern
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\UsePatternMatchingHelpers.cs (2)
18out IsPatternExpressionSyntax? isPatternExpression, 81else if (conditionalAccessExpression.Parent is IsPatternExpressionSyntax parentIsPatternExpression)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionCodeFixProvider.cs (1)
79IsPatternExpressionSyntax isPattern => isPattern.Expression,
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessaryDiscardDesignation\CSharpRemoveUnnecessaryDiscardDesignationCodeFixProvider.cs (3)
45if (declarationPattern.Parent is IsPatternExpressionSyntax isPattern) 51var currentIsPattern = (IsPatternExpressionSyntax)current;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseIsNullCheckForCastAndEqualityOperatorCodeFixProvider.cs (3)
67var isPattern = RewriteWorker(binary); 87private static IsPatternExpressionSyntax RewriteWorker(BinaryExpressionSyntax binary) 92private static IsPatternExpressionSyntax Rewrite(
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndMemberAccessCodeFixProvider.cs (3)
53asExpression, out var conditionalAccessExpression, out var binaryExpression, out var isPatternExpression, out _)) 79var newIsExpression = IsPatternExpression( 115BinaryExpressionSyntax? binaryExpression, IsPatternExpressionSyntax? isPatternExpression)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndNullCheckCodeFixProvider.cs (2)
99: ((IsPatternExpressionSyntax)comparison).Pattern; 165var isPatternExpression = IsPatternExpression(asExpression.Left, declarationPattern);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpIsAndCastCheckCodeFixProvider.cs (2)
58var updatedCondition = SyntaxFactory.IsPatternExpression( 82IsPatternExpressionSyntax updatedCondition,
UsePatternMatching\CSharpIsAndCastCheckWithoutNameDiagnosticAnalyzer.cs (1)
222var isPattern = SyntaxFactory.IsPatternExpression(
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (3)
Microsoft.NetCore.Analyzers\InteropServices\CSharpDisableRuntimeMarshalling.Fixer.cs (2)
168var nullCheckAndDecl = (IsPatternExpressionSyntax)SyntaxFactory.ParseExpression($"x is not null and var {nonNullPtrIdentifier}");
Microsoft.NetCore.Analyzers\Performance\CSharpDoNotUseCountWhenAnyCanBeUsed.Fixer.cs (1)
99if (node is IsPatternExpressionSyntax isPattern &&
Microsoft.CodeAnalysis.CSharp.Workspaces (9)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (3)
368if (node.Parent is not ConstantPatternSyntax { Parent: IsPatternExpressionSyntax }) 744if (pattern is DiscardPatternSyntax && node.Parent is IsPatternExpressionSyntax) 763if (node.Parent is IsPatternExpressionSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
104if (node is IsPatternExpressionSyntax isPattern)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
1365var isPatternExpression = (IsPatternExpressionSyntax)node;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (1)
100declarationPattern.Parent is IsPatternExpressionSyntax isPatternExpression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (2)
165IsPatternExpressionSyntax isPatternExpression => InferTypeInIsPatternExpression(isPatternExpression, node), 1593IsPatternExpressionSyntax isPatternExpression,
Roslyn.Diagnostics.CSharp.Analyzers (9)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (3)
368if (node.Parent is not ConstantPatternSyntax { Parent: IsPatternExpressionSyntax }) 744if (pattern is DiscardPatternSyntax && node.Parent is IsPatternExpressionSyntax) 763if (node.Parent is IsPatternExpressionSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
104if (node is IsPatternExpressionSyntax isPattern)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
1365var isPatternExpression = (IsPatternExpressionSyntax)node;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (1)
100declarationPattern.Parent is IsPatternExpressionSyntax isPatternExpression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (2)
165IsPatternExpressionSyntax isPatternExpression => InferTypeInIsPatternExpression(isPatternExpression, node), 1593IsPatternExpressionSyntax isPatternExpression,