9 types derived from BoundPattern
Microsoft.CodeAnalysis.CSharp (9)
Generated\BoundNodes.xml.Generated.cs (9)
8013
internal sealed partial class BoundConstantPattern :
BoundPattern
8046
internal sealed partial class BoundDiscardPattern :
BoundPattern
8082
internal abstract partial class BoundObjectPattern :
BoundPattern
8212
internal sealed partial class BoundSlicePattern :
BoundPattern
8251
internal sealed partial class BoundITuplePattern :
BoundPattern
8391
internal sealed partial class BoundTypePattern :
BoundPattern
8423
internal sealed partial class BoundBinaryPattern :
BoundPattern
8458
internal sealed partial class BoundNegatedPattern :
BoundPattern
8488
internal sealed partial class BoundRelationalPattern :
BoundPattern
127 references to BoundPattern
Microsoft.CodeAnalysis.CSharp (127)
Binder\Binder_Patterns.cs (32)
38
BoundPattern
pattern = BindPattern(node.Pattern, expression.Type, permitDesignations: true, hasErrors, diagnostics, underIsPattern: true);
48
BoundPattern
pattern,
57
bool negated = pattern.IsNegated(out
var
innerPattern);
163
internal
BoundPattern
BindPattern(
189
private
BoundPattern
BindParenthesizedPattern(
201
private
BoundPattern
BindSlicePattern(
216
BoundPattern
? pattern = null;
258
private ImmutableArray<
BoundPattern
> BindListPatternSubpatterns(
268
var builder = ArrayBuilder<
BoundPattern
>.GetInstance(subpatterns.Count);
271
BoundPattern
boundPattern;
326
ImmutableArray<
BoundPattern
> subpatterns = BindListPatternSubpatterns(
401
private static
BoundPattern
BindDiscardPattern(DiscardPatternSyntax node, TypeSymbol inputType, BindingDiagnosticBag diagnostics)
407
private
BoundPattern
BindConstantPatternWithFallbackToTypePattern(
416
internal
BoundPattern
BindConstantPatternWithFallbackToTypePattern(
836
private
BoundPattern
BindDeclarationPattern(
956
private
BoundPattern
BindRecursivePattern(
1144
BoundPattern
pattern = BindVarDesignation(variable, objectType, permitDesignations, hasErrors: false, diagnostics);
1316
private
BoundPattern
BindVarPattern(
1342
private
BoundPattern
BindVarDesignation(
1423
BoundPattern
pattern = BindVarDesignation(variable, elementType, permitDesignations, isError, diagnostics);
1446
BoundPattern
pattern = BindVarDesignation(variable, elementType, permitDesignations, isError, diagnostics);
1502
BoundPattern
boundPattern = BindPattern(pattern, memberType, permitDesignations, hasErrors, diagnostics);
1610
private
BoundPattern
BindTypePattern(
1623
private
BoundPattern
BindRelationalPattern(
1716
private
BoundPattern
BindUnaryPattern(
1726
var
subPattern = BindPattern(node.Pattern, inputType, permitDesignations, hasErrors, diagnostics, underIsPattern);
1730
private
BoundPattern
BindBinaryPattern(
1743
var
left = BindPattern(node.Left, inputType, permitDesignations, hasErrors, diagnostics);
1744
var
right = BindPattern(node.Right, inputType, permitDesignations, hasErrors, diagnostics);
1755
static void collectCandidates(
BoundPattern
pat, ArrayBuilder<TypeSymbol> candidates)
1827
var
left = BindPattern(node.Left, inputType, permitDesignations, hasErrors, diagnostics);
1828
var
right = BindPattern(node.Right, left.NarrowedType, permitDesignations, hasErrors, diagnostics);
Binder\DecisionDagBuilder.cs (9)
117
BoundPattern
pattern,
130
BoundPattern
pattern,
187
BoundPattern
pattern,
197
BoundPattern
pattern,
270
BoundPattern
pattern,
283
BoundPattern
pattern,
539
BoundPattern
pattern = recursive.Deconstruction[i].Pattern;
560
BoundPattern
pattern = recursive.Deconstruction[i].Pattern;
583
BoundPattern
pattern = subpattern.Pattern;
Binder\DecisionDagBuilder_ListPatterns.cs (2)
49
foreach (
BoundPattern
subpattern in subpatterns)
56
if (slice.Pattern is
BoundPattern
slicePattern)
Binder\SwitchBinder_Patterns.cs (3)
240
BoundPattern
pattern = sectionBinder.BindConstantPatternWithFallbackToTypePattern(
272
BoundPattern
pattern = sectionBinder.BindPattern(
286
void reportIfConstantNamedUnderscore(
BoundPattern
pattern, ExpressionSyntax expression)
Binder\SwitchExpressionArmBinder.cs (1)
42
BoundPattern
pattern = armBinder.BindPattern(node.Pattern, switchGoverningType, permitDesignations: true, hasErrors, diagnostics);
BoundTree\BoundIsPatternExpression.cs (1)
16
bool negated = this.Pattern.IsNegated(out
var
innerPattern);
BoundTree\BoundPattern.cs (1)
14
internal bool IsNegated(out
BoundPattern
innerPattern)
Compilation\CSharpSemanticModel.cs (3)
2020
BoundPattern
pattern = lowestBoundNode as
BoundPattern
?? highestBoundNode as
BoundPattern
?? (highestBoundNode is BoundSubpattern sp ? sp.Pattern : null);
FlowAnalysis\AbstractFlowPass.cs (4)
932
bool negated = node.Pattern.IsNegated(out
var
pattern);
981
static bool patternMatchesNull(
BoundPattern
pattern)
1021
static bool? isBoolTest(
BoundPattern
pattern)
1061
public virtual void VisitPattern(
BoundPattern
pattern)
FlowAnalysis\DefiniteAssignment.cs (3)
1959
public override void VisitPattern(
BoundPattern
pattern)
1969
void assignPatternVariablesAndMarkReadFields(
BoundPattern
pattern, bool definitely = true)
2044
foreach (
BoundPattern
p in pat.Subpatterns)
FlowAnalysis\NullableWalker_Patterns.cs (2)
26
BoundPattern
pattern)
133
BoundPattern
pattern)
FlowAnalysis\VariablesDeclaredWalker.cs (2)
50
public override void VisitPattern(
BoundPattern
pattern)
69
private void NoteDeclaredPatternVariables(
BoundPattern
pattern)
Generated\BoundNodes.xml.Generated.cs (64)
4903
public BoundSwitchExpressionArm(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals,
BoundPattern
pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label, bool hasErrors = false)
4920
public
BoundPattern
Pattern { get; }
4928
public BoundSwitchExpressionArm Update(ImmutableArray<LocalSymbol> locals,
BoundPattern
pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label)
5690
public BoundSwitchLabel(SyntaxNode syntax, LabelSymbol label,
BoundPattern
pattern, BoundExpression? whenClause, bool hasErrors = false)
5703
public
BoundPattern
Pattern { get; }
5709
public BoundSwitchLabel Update(LabelSymbol label,
BoundPattern
pattern, BoundExpression? whenClause)
7945
public BoundIsPatternExpression(SyntaxNode syntax, BoundExpression expression,
BoundPattern
pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type, bool hasErrors = false)
7964
public
BoundPattern
Pattern { get; }
7973
public BoundIsPatternExpression Update(BoundExpression expression,
BoundPattern
pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type)
8170
public BoundListPattern(SyntaxNode syntax, ImmutableArray<
BoundPattern
> subpatterns, bool hasSlice, BoundExpression? lengthAccess, BoundExpression? indexerAccess, BoundListPatternReceiverPlaceholder? receiverPlaceholder, BoundListPatternIndexPlaceholder? argumentPlaceholder, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8190
public ImmutableArray<
BoundPattern
> Subpatterns { get; }
8200
public BoundListPattern Update(ImmutableArray<
BoundPattern
> subpatterns, bool hasSlice, BoundExpression? lengthAccess, BoundExpression? indexerAccess, BoundListPatternReceiverPlaceholder? receiverPlaceholder, BoundListPatternIndexPlaceholder? argumentPlaceholder, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType)
8214
public BoundSlicePattern(SyntaxNode syntax,
BoundPattern
? pattern, BoundExpression? indexerAccess, BoundSlicePatternReceiverPlaceholder? receiverPlaceholder, BoundSlicePatternRangePlaceholder? argumentPlaceholder, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8231
public
BoundPattern
? Pattern { get; }
8239
public BoundSlicePattern Update(
BoundPattern
? pattern, BoundExpression? indexerAccess, BoundSlicePatternReceiverPlaceholder? receiverPlaceholder, BoundSlicePatternRangePlaceholder? argumentPlaceholder, TypeSymbol inputType, TypeSymbol narrowedType)
8289
protected BoundSubpattern(BoundKind kind, SyntaxNode syntax,
BoundPattern
pattern, bool hasErrors = false)
8298
public
BoundPattern
Pattern { get; }
8303
public BoundPositionalSubpattern(SyntaxNode syntax, Symbol? symbol,
BoundPattern
pattern, bool hasErrors = false)
8317
public BoundPositionalSubpattern Update(Symbol? symbol,
BoundPattern
pattern)
8331
public BoundPropertySubpattern(SyntaxNode syntax, BoundPropertySubpatternMember? member, bool isLengthOrCount,
BoundPattern
pattern, bool hasErrors = false)
8347
public BoundPropertySubpattern Update(BoundPropertySubpatternMember? member, bool isLengthOrCount,
BoundPattern
pattern)
8425
public BoundBinaryPattern(SyntaxNode syntax, bool disjunction,
BoundPattern
left,
BoundPattern
right, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8440
public
BoundPattern
Left { get; }
8441
public
BoundPattern
Right { get; }
8446
public BoundBinaryPattern Update(bool disjunction,
BoundPattern
left,
BoundPattern
right, TypeSymbol inputType, TypeSymbol narrowedType)
8460
public BoundNegatedPattern(SyntaxNode syntax,
BoundPattern
negated, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8471
public
BoundPattern
Negated { get; }
8476
public BoundNegatedPattern Update(
BoundPattern
negated, TypeSymbol inputType, TypeSymbol narrowedType)
11519
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
11659
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
12046
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
12084
ImmutableArray<
BoundPattern
> subpatterns = this.VisitList(node.Subpatterns);
12096
BoundPattern
? pattern = (
BoundPattern
?)this.Visit(node.Pattern);
12113
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
12119
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
12137
BoundPattern
left = (
BoundPattern
)this.Visit(node.Left);
12138
BoundPattern
right = (
BoundPattern
)this.Visit(node.Right);
12145
BoundPattern
negated = (
BoundPattern
)this.Visit(node.Negated);
13626
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
14692
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
14751
ImmutableArray<
BoundPattern
> subpatterns = this.VisitList(node.Subpatterns);
14764
BoundPattern
? pattern = (
BoundPattern
?)this.Visit(node.Pattern);
14784
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
14807
BoundPattern
left = (
BoundPattern
)this.Visit(node.Left);
14808
BoundPattern
right = (
BoundPattern
)this.Visit(node.Right);
14816
BoundPattern
negated = (
BoundPattern
)this.Visit(node.Negated);