9 types derived from BoundPattern
Microsoft.CodeAnalysis.CSharp (9)
Generated\BoundNodes.xml.Generated.cs (9)
7999
internal sealed partial class BoundConstantPattern :
BoundPattern
8036
internal sealed partial class BoundDiscardPattern :
BoundPattern
8076
internal abstract partial class BoundObjectPattern :
BoundPattern
8214
internal sealed partial class BoundSlicePattern :
BoundPattern
8253
internal sealed partial class BoundITuplePattern :
BoundPattern
8397
internal sealed partial class BoundTypePattern :
BoundPattern
8433
internal sealed partial class BoundBinaryPattern :
BoundPattern
8472
internal sealed partial class BoundNegatedPattern :
BoundPattern
8506
internal sealed partial class BoundRelationalPattern :
BoundPattern
144 references to BoundPattern
Microsoft.CodeAnalysis.CSharp (144)
Binder\Binder_Patterns.cs (33)
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(
1752
BoundPattern
result = BindPattern(binaryPatternAndPermitDesignations.pat.Left, inputType, binaryPatternAndPermitDesignations.permitDesignations, hasErrors, diagnostics);
1773
static
BoundPattern
bindBinaryPattern(
1774
BoundPattern
preboundLeft,
1789
var
right = binder.BindPattern(node.Right, inputType, permitDesignations, hasErrors, diagnostics);
1856
var
right = binder.BindPattern(node.Right, preboundLeft.NarrowedType, permitDesignations, hasErrors, diagnostics);
1863
static void collectCandidates(
BoundPattern
pat, ArrayBuilder<TypeSymbol> candidates)
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)
BoundTree\BoundTreeRewriter.cs (6)
218
if (node is BoundExpression or
BoundPattern
)
342
BoundPattern
child = node.Left;
367
var
left = (
BoundPattern
?)this.Visit(child);
373
var
right = (
BoundPattern
?)this.Visit(binary.Right);
BoundTree\BoundTreeVisitors.cs (1)
202
Debug.Assert(node is BoundExpression or
BoundPattern
);
BoundTree\BoundTreeWalker.cs (4)
73
if (node is BoundExpression or
BoundPattern
)
88
Debug.Assert(node is BoundExpression or
BoundPattern
);
152
var rightOperands = ArrayBuilder<
BoundPattern
>.GetInstance();
157
BoundPattern
? current = binary.Left;
Compilation\CSharpSemanticModel.cs (3)
2030
BoundPattern
pattern = lowestBoundNode as
BoundPattern
?? highestBoundNode as
BoundPattern
?? (highestBoundNode is BoundSubpattern sp ? sp.Pattern : null);
Compilation\MemberSemanticModel.NodeMapBuilder.cs (2)
225
var stack = ArrayBuilder<
BoundPattern
>.GetInstance();
228
BoundPattern
currentPattern = binaryPattern.Left;
FlowAnalysis\AbstractFlowPass.cs (5)
363
if (node is BoundExpression or
BoundPattern
)
930
bool negated = node.Pattern.IsNegated(out
var
pattern);
979
static bool patternMatchesNull(
BoundPattern
pattern)
1029
static bool? isBoolTest(
BoundPattern
pattern)
1102
public virtual void VisitPattern(
BoundPattern
pattern)
FlowAnalysis\DefiniteAssignment.cs (3)
1991
public override void VisitPattern(
BoundPattern
pattern)
2001
void assignPatternVariablesAndMarkReadFields(
BoundPattern
pattern, bool definitely = true)
2076
foreach (
BoundPattern
p in pat.Subpatterns)
FlowAnalysis\NullableWalker.cs (1)
3686
Debug.Assert(node is BoundExpression or
BoundPattern
);
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
98
if (node is BoundExpression or
BoundPattern
)
FlowAnalysis\NullableWalker_Patterns.cs (2)
26
BoundPattern
pattern)
155
BoundPattern
pattern)
FlowAnalysis\VariablesDeclaredWalker.cs (2)
51
public override void VisitPattern(
BoundPattern
pattern)
70
private void NoteDeclaredPatternVariables(
BoundPattern
pattern)
Generated\BoundNodes.xml.Generated.cs (64)
4887
public BoundSwitchExpressionArm(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals,
BoundPattern
pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label, bool hasErrors = false)
4904
public
BoundPattern
Pattern { get; }
4912
public BoundSwitchExpressionArm Update(ImmutableArray<LocalSymbol> locals,
BoundPattern
pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label)
5674
public BoundSwitchLabel(SyntaxNode syntax, LabelSymbol label,
BoundPattern
pattern, BoundExpression? whenClause, bool hasErrors = false)
5687
public
BoundPattern
Pattern { get; }
5693
public BoundSwitchLabel Update(LabelSymbol label,
BoundPattern
pattern, BoundExpression? whenClause)
7931
public BoundIsPatternExpression(SyntaxNode syntax, BoundExpression expression,
BoundPattern
pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type, bool hasErrors = false)
7950
public
BoundPattern
Pattern { get; }
7959
public BoundIsPatternExpression Update(BoundExpression expression,
BoundPattern
pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type)
8172
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)
8192
public ImmutableArray<
BoundPattern
> Subpatterns { get; }
8202
public BoundListPattern Update(ImmutableArray<
BoundPattern
> subpatterns, bool hasSlice, BoundExpression? lengthAccess, BoundExpression? indexerAccess, BoundListPatternReceiverPlaceholder? receiverPlaceholder, BoundListPatternIndexPlaceholder? argumentPlaceholder, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType)
8216
public BoundSlicePattern(SyntaxNode syntax,
BoundPattern
? pattern, BoundExpression? indexerAccess, BoundSlicePatternReceiverPlaceholder? receiverPlaceholder, BoundSlicePatternRangePlaceholder? argumentPlaceholder, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8233
public
BoundPattern
? Pattern { get; }
8241
public BoundSlicePattern Update(
BoundPattern
? pattern, BoundExpression? indexerAccess, BoundSlicePatternReceiverPlaceholder? receiverPlaceholder, BoundSlicePatternRangePlaceholder? argumentPlaceholder, TypeSymbol inputType, TypeSymbol narrowedType)
8295
protected BoundSubpattern(BoundKind kind, SyntaxNode syntax,
BoundPattern
pattern, bool hasErrors = false)
8304
public
BoundPattern
Pattern { get; }
8309
public BoundPositionalSubpattern(SyntaxNode syntax, Symbol? symbol,
BoundPattern
pattern, bool hasErrors = false)
8323
public BoundPositionalSubpattern Update(Symbol? symbol,
BoundPattern
pattern)
8337
public BoundPropertySubpattern(SyntaxNode syntax, BoundPropertySubpatternMember? member, bool isLengthOrCount,
BoundPattern
pattern, bool hasErrors = false)
8353
public BoundPropertySubpattern Update(BoundPropertySubpatternMember? member, bool isLengthOrCount,
BoundPattern
pattern)
8435
public BoundBinaryPattern(SyntaxNode syntax, bool disjunction,
BoundPattern
left,
BoundPattern
right, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8454
public
BoundPattern
Left { get; }
8455
public
BoundPattern
Right { get; }
8460
public BoundBinaryPattern Update(bool disjunction,
BoundPattern
left,
BoundPattern
right, TypeSymbol inputType, TypeSymbol narrowedType)
8474
public BoundNegatedPattern(SyntaxNode syntax,
BoundPattern
negated, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8489
public
BoundPattern
Negated { get; }
8494
public BoundNegatedPattern Update(
BoundPattern
negated, TypeSymbol inputType, TypeSymbol narrowedType)
11630
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
11782
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
12203
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
12245
ImmutableArray<
BoundPattern
> subpatterns = this.VisitList(node.Subpatterns);
12257
BoundPattern
? pattern = (
BoundPattern
?)this.Visit(node.Pattern);
12277
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
12283
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
12302
BoundPattern
left = (
BoundPattern
)this.Visit(node.Left);
12303
BoundPattern
right = (
BoundPattern
)this.Visit(node.Right);
12310
BoundPattern
negated = (
BoundPattern
)this.Visit(node.Negated);
13795
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
14861
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
14920
ImmutableArray<
BoundPattern
> subpatterns = this.VisitList(node.Subpatterns);
14933
BoundPattern
? pattern = (
BoundPattern
?)this.Visit(node.Pattern);
14953
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
14976
BoundPattern
left = (
BoundPattern
)this.Visit(node.Left);
14977
BoundPattern
right = (
BoundPattern
)this.Visit(node.Right);
14985
BoundPattern
negated = (
BoundPattern
)this.Visit(node.Negated);