1 instantiation of ConstantPatternSyntax
Microsoft.CodeAnalysis.CSharp (1)
Syntax.xml.Internal.Generated.cs (1)
8912
internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.
ConstantPatternSyntax
(this, parent, position);
83 references to ConstantPatternSyntax
Microsoft.CodeAnalysis.CSharp (11)
Binder\Binder_Patterns.cs (2)
176
ConstantPatternSyntax
p => BindConstantPatternWithFallbackToTypePattern(p, inputType, hasErrors, diagnostics),
409
ConstantPatternSyntax
node,
Binder\SwitchBinder_Patterns.cs (1)
274
if (matchLabelSyntax.Pattern is
ConstantPatternSyntax
p)
Syntax.xml.Main.Generated.cs (5)
304
public virtual TResult? VisitConstantPattern(
ConstantPatternSyntax
node) => this.DefaultVisit(node);
1048
public virtual void VisitConstantPattern(
ConstantPatternSyntax
node) => this.DefaultVisit(node);
1791
public override SyntaxNode? VisitConstantPattern(
ConstantPatternSyntax
node)
3787
public static
ConstantPatternSyntax
ConstantPattern(ExpressionSyntax expression)
3790
return (
ConstantPatternSyntax
)Syntax.InternalSyntax.SyntaxFactory.ConstantPattern((Syntax.InternalSyntax.ExpressionSyntax)expression.Green).CreateRed();
Syntax.xml.Syntax.Generated.cs (3)
5595
public
ConstantPatternSyntax
Update(ExpressionSyntax expression)
5599
var
newNode = SyntaxFactory.ConstantPattern(expression);
5607
public
ConstantPatternSyntax
WithExpression(ExpressionSyntax expression) => Update(expression);
Microsoft.CodeAnalysis.CSharp.CodeStyle (15)
src\Analyzers\CSharp\Analyzers\AddRequiredParentheses\CSharpAddRequiredExpressionParenthesesDiagnosticAnalyzer.cs (3)
54
node is IsPatternExpressionSyntax { Pattern:
ConstantPatternSyntax
};
64
case IsPatternExpressionSyntax { Pattern:
ConstantPatternSyntax
constantPattern } isPatternExpression:
73
=> binaryLike.Parent is
ConstantPatternSyntax
src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryExpressionParenthesesDiagnosticAnalyzer.cs (1)
80
case
ConstantPatternSyntax
constantPattern when constantPattern.Parent is IsPatternExpressionSyntax isPatternExpression:
src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckDiagnosticAnalyzer.cs (1)
48
else if (condition is IsPatternExpressionSyntax { Pattern:
ConstantPatternSyntax
{ Expression: LiteralExpressionSyntax(SyntaxKind.NullLiteralExpression) } } isPattern)
src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (1)
188
else if (condition is IsPatternExpressionSyntax { Pattern:
ConstantPatternSyntax
{ Expression: LiteralExpressionSyntax(SyntaxKind.NullLiteralExpression) } } isPattern)
src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (1)
58
if (pattern is not
ConstantPatternSyntax
constantPattern)
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsDiagnosticAnalyzer.cs (1)
140
Not { Pattern: Source { PatternSyntax:
ConstantPatternSyntax
} } => true,
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndMemberAccessDiagnosticAnalyzer.cs (2)
136
if (isPatternExpression.Pattern is
ConstantPatternSyntax
{ Expression: var expression1 })
150
else if (isPatternExpression.Pattern is UnaryPatternSyntax { Pattern:
ConstantPatternSyntax
{ Expression: var expression2 } })
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.cs (1)
351
if (right is
ConstantPatternSyntax
constantPattern
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpUseNotPatternDiagnosticAnalyzer.cs (1)
75
IsPatternExpressionSyntax { Pattern: DeclarationPatternSyntax or
ConstantPatternSyntax
} isPattern
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (2)
346
if (node.Parent is not
ConstantPatternSyntax
{ Parent: IsPatternExpressionSyntax })
783
case
ConstantPatternSyntax
:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (1)
1398
=> ((
ConstantPatternSyntax
)node).Expression;
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (9)
src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateDeconstructMethodCodeFixProvider.cs (1)
93
if (deconstruction is PositionalPatternClauseSyntax positionalPatternClause && positionalPatternClause.Subpatterns.Any(p => p.Pattern is not
ConstantPatternSyntax
))
src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateDeconstructMethodService.cs (2)
45
semanticModel.GenerateNameForExpression(((
ConstantPatternSyntax
)sub.Pattern).Expression, capitalize: false, cancellationToken));
53
type: semanticModel.GetTypeInfo(((
ConstantPatternSyntax
)positionalPattern.Subpatterns[i].Pattern).Expression, cancellationToken).Type ?? semanticModel.Compilation.GetSpecialType(SpecialType.System_Object),
src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseIsNullCheckForReferenceEqualsCodeFixProvider.cs (1)
27
private static readonly
ConstantPatternSyntax
s_nullLiteralPattern
src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseNullCheckOverTypeCheckCodeFixProvider.cs (1)
26
private static readonly
ConstantPatternSyntax
s_nullConstantPattern = ConstantPattern(LiteralExpression(SyntaxKind.NullLiteralExpression));
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (1)
1507
if (patternSyntax is
ConstantPatternSyntax
{ Expression: CastExpressionSyntax { Expression: IdentifierNameSyntax } castExpression } &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
155
ConstantPatternSyntax
constantPattern => InferTypeInConstantPattern(constantPattern),
1453
ConstantPatternSyntax
constantPattern)
1534
ConstantPatternSyntax
constantPattern => GetTypes(constantPattern.Expression),
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (12)
Semantics\PatternMatchingTests3.cs (12)
4131
Assert.Equal("System.Int32 N", model.GetSymbolInfo(((
ConstantPatternSyntax
)pattern).Expression).Symbol.ToTestDisplayString());
4134
Assert.Equal("System.Int32", model.GetTypeInfo(((
ConstantPatternSyntax
)pattern).Expression).Type.ToTestDisplayString());
4135
Assert.Equal("System.Int32", model.GetTypeInfo(((
ConstantPatternSyntax
)pattern).Expression).ConvertedType.ToTestDisplayString());
4188
Assert.Equal("System.Int64", model.GetSymbolInfo(((
ConstantPatternSyntax
)pattern).Expression).Symbol.ToTestDisplayString());
4195
Assert.Equal("System.Int32", model.GetSymbolInfo(((
ConstantPatternSyntax
)pattern).Expression).Symbol.ToTestDisplayString());
4358
Assert.Equal("System.Int32 N", model.GetSymbolInfo(((
ConstantPatternSyntax
)pattern).Expression).Symbol.ToTestDisplayString());
4361
Assert.Equal("System.Int32", model.GetTypeInfo(((
ConstantPatternSyntax
)pattern).Expression).Type.ToTestDisplayString());
4362
Assert.Equal("System.Int32", model.GetTypeInfo(((
ConstantPatternSyntax
)pattern).Expression).ConvertedType.ToTestDisplayString());
4396
Assert.Equal("System.Int32", model.GetTypeInfo(((
ConstantPatternSyntax
)pattern).Expression).Type.ToTestDisplayString());
4397
Assert.Equal("System.Int32", model.GetTypeInfo(((
ConstantPatternSyntax
)pattern).Expression).ConvertedType.ToTestDisplayString());
4422
Assert.Equal("System.Int64", model.GetSymbolInfo(((
ConstantPatternSyntax
)pattern).Expression).Symbol.ToTestDisplayString());
4429
Assert.Equal("System.Int32", model.GetSymbolInfo(((
ConstantPatternSyntax
)pattern).Expression).Symbol.ToTestDisplayString());
Microsoft.CodeAnalysis.CSharp.Features (17)
src\Analyzers\CSharp\Analyzers\AddRequiredParentheses\CSharpAddRequiredExpressionParenthesesDiagnosticAnalyzer.cs (3)
54
node is IsPatternExpressionSyntax { Pattern:
ConstantPatternSyntax
};
64
case IsPatternExpressionSyntax { Pattern:
ConstantPatternSyntax
constantPattern } isPatternExpression:
73
=> binaryLike.Parent is
ConstantPatternSyntax
src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryExpressionParenthesesDiagnosticAnalyzer.cs (1)
80
case
ConstantPatternSyntax
constantPattern when constantPattern.Parent is IsPatternExpressionSyntax isPatternExpression:
src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckDiagnosticAnalyzer.cs (1)
48
else if (condition is IsPatternExpressionSyntax { Pattern:
ConstantPatternSyntax
{ Expression: LiteralExpressionSyntax(SyntaxKind.NullLiteralExpression) } } isPattern)
src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (1)
188
else if (condition is IsPatternExpressionSyntax { Pattern:
ConstantPatternSyntax
{ Expression: LiteralExpressionSyntax(SyntaxKind.NullLiteralExpression) } } isPattern)
src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (1)
58
if (pattern is not
ConstantPatternSyntax
constantPattern)
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsDiagnosticAnalyzer.cs (1)
140
Not { Pattern: Source { PatternSyntax:
ConstantPatternSyntax
} } => true,
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndMemberAccessDiagnosticAnalyzer.cs (2)
136
if (isPatternExpression.Pattern is
ConstantPatternSyntax
{ Expression: var expression1 })
150
else if (isPatternExpression.Pattern is UnaryPatternSyntax { Pattern:
ConstantPatternSyntax
{ Expression: var expression2 } })
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.cs (1)
351
if (right is
ConstantPatternSyntax
constantPattern
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpUseNotPatternDiagnosticAnalyzer.cs (1)
75
IsPatternExpressionSyntax { Pattern: DeclarationPatternSyntax or
ConstantPatternSyntax
} isPattern
src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateDeconstructMethodCodeFixProvider.cs (1)
93
if (deconstruction is PositionalPatternClauseSyntax positionalPatternClause && positionalPatternClause.Subpatterns.Any(p => p.Pattern is not
ConstantPatternSyntax
))
src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateDeconstructMethodService.cs (2)
45
semanticModel.GenerateNameForExpression(((
ConstantPatternSyntax
)sub.Pattern).Expression, capitalize: false, cancellationToken));
53
type: semanticModel.GetTypeInfo(((
ConstantPatternSyntax
)positionalPattern.Subpatterns[i].Pattern).Expression, cancellationToken).Type ?? semanticModel.Compilation.GetSpecialType(SpecialType.System_Object),
src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseIsNullCheckForReferenceEqualsCodeFixProvider.cs (1)
27
private static readonly
ConstantPatternSyntax
s_nullLiteralPattern
src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseNullCheckOverTypeCheckCodeFixProvider.cs (1)
26
private static readonly
ConstantPatternSyntax
s_nullConstantPattern = ConstantPattern(LiteralExpression(SyntaxKind.NullLiteralExpression));
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (5)
Generated\Syntax.Test.xml.Generated.cs (5)
10648
private static
ConstantPatternSyntax
GenerateConstantPattern()
12232
var
node = GenerateConstantPattern();
12235
var
newNode = node.WithExpression(node.Expression);
16759
var
oldNode = GenerateConstantPattern();
16775
var
oldNode = GenerateConstantPattern();
Microsoft.CodeAnalysis.CSharp.Workspaces (7)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (2)
346
if (node.Parent is not
ConstantPatternSyntax
{ Parent: IsPatternExpressionSyntax })
783
case
ConstantPatternSyntax
:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (1)
1398
=> ((
ConstantPatternSyntax
)node).Expression;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (1)
1507
if (patternSyntax is
ConstantPatternSyntax
{ Expression: CastExpressionSyntax { Expression: IdentifierNameSyntax } castExpression } &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
155
ConstantPatternSyntax
constantPattern => InferTypeInConstantPattern(constantPattern),
1453
ConstantPatternSyntax
constantPattern)
1534
ConstantPatternSyntax
constantPattern => GetTypes(constantPattern.Expression),
Roslyn.Diagnostics.CSharp.Analyzers (7)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (2)
346
if (node.Parent is not
ConstantPatternSyntax
{ Parent: IsPatternExpressionSyntax })
783
case
ConstantPatternSyntax
:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (1)
1398
=> ((
ConstantPatternSyntax
)node).Expression;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (1)
1507
if (patternSyntax is
ConstantPatternSyntax
{ Expression: CastExpressionSyntax { Expression: IdentifierNameSyntax } castExpression } &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
155
ConstantPatternSyntax
constantPattern => InferTypeInConstantPattern(constantPattern),
1453
ConstantPatternSyntax
constantPattern)
1534
ConstantPatternSyntax
constantPattern => GetTypes(constantPattern.Expression),