9 types derived from BoundPattern
Microsoft.CodeAnalysis.CSharp (9)
Generated\BoundNodes.xml.Generated.cs (9)
8007
internal sealed partial class BoundConstantPattern :
BoundPattern
8044
internal sealed partial class BoundDiscardPattern :
BoundPattern
8084
internal abstract partial class BoundObjectPattern :
BoundPattern
8222
internal sealed partial class BoundSlicePattern :
BoundPattern
8261
internal sealed partial class BoundITuplePattern :
BoundPattern
8405
internal sealed partial class BoundTypePattern :
BoundPattern
8441
internal sealed partial class BoundBinaryPattern :
BoundPattern
8480
internal sealed partial class BoundNegatedPattern :
BoundPattern
8514
internal sealed partial class BoundRelationalPattern :
BoundPattern
144 references to BoundPattern
Microsoft.CodeAnalysis.CSharp (144)
Binder\Binder_Patterns.cs (33)
39
BoundPattern
pattern = BindPattern(node.Pattern, expression.Type, permitDesignations: true, hasErrors, diagnostics, underIsPattern: true);
49
BoundPattern
pattern,
58
bool negated = pattern.IsNegated(out
var
innerPattern);
164
internal
BoundPattern
BindPattern(
190
private
BoundPattern
BindParenthesizedPattern(
202
private
BoundPattern
BindSlicePattern(
217
BoundPattern
? pattern = null;
259
private ImmutableArray<
BoundPattern
> BindListPatternSubpatterns(
269
var builder = ArrayBuilder<
BoundPattern
>.GetInstance(subpatterns.Count);
272
BoundPattern
boundPattern;
327
ImmutableArray<
BoundPattern
> subpatterns = BindListPatternSubpatterns(
402
private static
BoundPattern
BindDiscardPattern(DiscardPatternSyntax node, TypeSymbol inputType, BindingDiagnosticBag diagnostics)
408
private
BoundPattern
BindConstantPatternWithFallbackToTypePattern(
417
internal
BoundPattern
BindConstantPatternWithFallbackToTypePattern(
837
private
BoundPattern
BindDeclarationPattern(
957
private
BoundPattern
BindRecursivePattern(
1145
BoundPattern
pattern = BindVarDesignation(variable, objectType, permitDesignations, hasErrors: false, diagnostics);
1317
private
BoundPattern
BindVarPattern(
1343
private
BoundPattern
BindVarDesignation(
1424
BoundPattern
pattern = BindVarDesignation(variable, elementType, permitDesignations, isError, diagnostics);
1447
BoundPattern
pattern = BindVarDesignation(variable, elementType, permitDesignations, isError, diagnostics);
1503
BoundPattern
boundPattern = BindPattern(pattern, memberType, permitDesignations, hasErrors, diagnostics);
1611
private
BoundPattern
BindTypePattern(
1624
private
BoundPattern
BindRelationalPattern(
1717
private
BoundPattern
BindUnaryPattern(
1727
var
subPattern = BindPattern(node.Pattern, inputType, permitDesignations, hasErrors, diagnostics, underIsPattern);
1731
private
BoundPattern
BindBinaryPattern(
1753
BoundPattern
result = BindPattern(binaryPatternAndPermitDesignations.pat.Left, inputType, binaryPatternAndPermitDesignations.permitDesignations, hasErrors, diagnostics);
1774
static
BoundPattern
bindBinaryPattern(
1775
BoundPattern
preboundLeft,
1790
var
right = binder.BindPattern(node.Right, inputType, permitDesignations, hasErrors, diagnostics);
1857
var
right = binder.BindPattern(node.Right, preboundLeft.NarrowedType, permitDesignations, hasErrors, diagnostics);
1864
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)
50
foreach (
BoundPattern
subpattern in subpatterns)
57
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)
2031
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)
1992
public override void VisitPattern(
BoundPattern
pattern)
2002
void assignPatternVariablesAndMarkReadFields(
BoundPattern
pattern, bool definitely = true)
2077
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)
4895
public BoundSwitchExpressionArm(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals,
BoundPattern
pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label, bool hasErrors = false)
4912
public
BoundPattern
Pattern { get; }
4920
public BoundSwitchExpressionArm Update(ImmutableArray<LocalSymbol> locals,
BoundPattern
pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label)
5682
public BoundSwitchLabel(SyntaxNode syntax, LabelSymbol label,
BoundPattern
pattern, BoundExpression? whenClause, bool hasErrors = false)
5695
public
BoundPattern
Pattern { get; }
5701
public BoundSwitchLabel Update(LabelSymbol label,
BoundPattern
pattern, BoundExpression? whenClause)
7939
public BoundIsPatternExpression(SyntaxNode syntax, BoundExpression expression,
BoundPattern
pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type, bool hasErrors = false)
7958
public
BoundPattern
Pattern { get; }
7967
public BoundIsPatternExpression Update(BoundExpression expression,
BoundPattern
pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type)
8180
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)
8200
public ImmutableArray<
BoundPattern
> Subpatterns { get; }
8210
public BoundListPattern Update(ImmutableArray<
BoundPattern
> subpatterns, bool hasSlice, BoundExpression? lengthAccess, BoundExpression? indexerAccess, BoundListPatternReceiverPlaceholder? receiverPlaceholder, BoundListPatternIndexPlaceholder? argumentPlaceholder, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType)
8224
public BoundSlicePattern(SyntaxNode syntax,
BoundPattern
? pattern, BoundExpression? indexerAccess, BoundSlicePatternReceiverPlaceholder? receiverPlaceholder, BoundSlicePatternRangePlaceholder? argumentPlaceholder, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8241
public
BoundPattern
? Pattern { get; }
8249
public BoundSlicePattern Update(
BoundPattern
? pattern, BoundExpression? indexerAccess, BoundSlicePatternReceiverPlaceholder? receiverPlaceholder, BoundSlicePatternRangePlaceholder? argumentPlaceholder, TypeSymbol inputType, TypeSymbol narrowedType)
8303
protected BoundSubpattern(BoundKind kind, SyntaxNode syntax,
BoundPattern
pattern, bool hasErrors = false)
8312
public
BoundPattern
Pattern { get; }
8317
public BoundPositionalSubpattern(SyntaxNode syntax, Symbol? symbol,
BoundPattern
pattern, bool hasErrors = false)
8331
public BoundPositionalSubpattern Update(Symbol? symbol,
BoundPattern
pattern)
8345
public BoundPropertySubpattern(SyntaxNode syntax, BoundPropertySubpatternMember? member, bool isLengthOrCount,
BoundPattern
pattern, bool hasErrors = false)
8361
public BoundPropertySubpattern Update(BoundPropertySubpatternMember? member, bool isLengthOrCount,
BoundPattern
pattern)
8443
public BoundBinaryPattern(SyntaxNode syntax, bool disjunction,
BoundPattern
left,
BoundPattern
right, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8462
public
BoundPattern
Left { get; }
8463
public
BoundPattern
Right { get; }
8468
public BoundBinaryPattern Update(bool disjunction,
BoundPattern
left,
BoundPattern
right, TypeSymbol inputType, TypeSymbol narrowedType)
8482
public BoundNegatedPattern(SyntaxNode syntax,
BoundPattern
negated, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8497
public
BoundPattern
Negated { get; }
8502
public BoundNegatedPattern Update(
BoundPattern
negated, TypeSymbol inputType, TypeSymbol narrowedType)
11638
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
11790
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
12211
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
12253
ImmutableArray<
BoundPattern
> subpatterns = this.VisitList(node.Subpatterns);
12265
BoundPattern
? pattern = (
BoundPattern
?)this.Visit(node.Pattern);
12285
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
12291
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
12310
BoundPattern
left = (
BoundPattern
)this.Visit(node.Left);
12311
BoundPattern
right = (
BoundPattern
)this.Visit(node.Right);
12318
BoundPattern
negated = (
BoundPattern
)this.Visit(node.Negated);
13780
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
14846
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
14905
ImmutableArray<
BoundPattern
> subpatterns = this.VisitList(node.Subpatterns);
14918
BoundPattern
? pattern = (
BoundPattern
?)this.Visit(node.Pattern);
14938
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
14961
BoundPattern
left = (
BoundPattern
)this.Visit(node.Left);
14962
BoundPattern
right = (
BoundPattern
)this.Visit(node.Right);
14970
BoundPattern
negated = (
BoundPattern
)this.Visit(node.Negated);