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