9 types derived from BoundPattern
Microsoft.CodeAnalysis.CSharp (9)
Generated\BoundNodes.xml.Generated.cs (9)
7697
internal sealed partial class BoundConstantPattern :
BoundPattern
7730
internal sealed partial class BoundDiscardPattern :
BoundPattern
7766
internal abstract partial class BoundObjectPattern :
BoundPattern
7896
internal sealed partial class BoundSlicePattern :
BoundPattern
7935
internal sealed partial class BoundITuplePattern :
BoundPattern
8075
internal sealed partial class BoundTypePattern :
BoundPattern
8107
internal sealed partial class BoundBinaryPattern :
BoundPattern
8142
internal sealed partial class BoundNegatedPattern :
BoundPattern
8172
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(
827
private
BoundPattern
BindDeclarationPattern(
947
private
BoundPattern
BindRecursivePattern(
1135
BoundPattern
pattern = BindVarDesignation(variable, objectType, permitDesignations, hasErrors: false, diagnostics);
1307
private
BoundPattern
BindVarPattern(
1333
private
BoundPattern
BindVarDesignation(
1414
BoundPattern
pattern = BindVarDesignation(variable, elementType, permitDesignations, isError, diagnostics);
1437
BoundPattern
pattern = BindVarDesignation(variable, elementType, permitDesignations, isError, diagnostics);
1493
BoundPattern
boundPattern = BindPattern(pattern, memberType, permitDesignations, hasErrors, diagnostics);
1601
private
BoundPattern
BindTypePattern(
1614
private
BoundPattern
BindRelationalPattern(
1706
private
BoundPattern
BindUnaryPattern(
1716
var
subPattern = BindPattern(node.Pattern, inputType, permitDesignations, hasErrors, diagnostics, underIsPattern);
1720
private
BoundPattern
BindBinaryPattern(
1733
var
left = BindPattern(node.Left, inputType, permitDesignations, hasErrors, diagnostics);
1734
var
right = BindPattern(node.Right, inputType, permitDesignations, hasErrors, diagnostics);
1745
static void collectCandidates(
BoundPattern
pat, ArrayBuilder<TypeSymbol> candidates)
1817
var
left = BindPattern(node.Left, inputType, permitDesignations, hasErrors, diagnostics);
1818
var
right = BindPattern(node.Right, left.NarrowedType, permitDesignations, hasErrors, diagnostics);
Binder\DecisionDagBuilder.cs (9)
118
BoundPattern
pattern,
131
BoundPattern
pattern,
184
BoundPattern
pattern,
194
BoundPattern
pattern,
267
BoundPattern
pattern,
280
BoundPattern
pattern,
536
BoundPattern
pattern = recursive.Deconstruction[i].Pattern;
557
BoundPattern
pattern = recursive.Deconstruction[i].Pattern;
580
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)
2041
BoundPattern
pattern = lowestBoundNode as
BoundPattern
?? highestBoundNode as
BoundPattern
?? (highestBoundNode is BoundSubpattern sp ? sp.Pattern : null);
FlowAnalysis\AbstractFlowPass.cs (4)
924
bool negated = node.Pattern.IsNegated(out
var
pattern);
973
static bool patternMatchesNull(
BoundPattern
pattern)
1013
static bool? isBoolTest(
BoundPattern
pattern)
1053
public virtual void VisitPattern(
BoundPattern
pattern)
FlowAnalysis\DefiniteAssignment.cs (3)
1853
public override void VisitPattern(
BoundPattern
pattern)
1863
void assignPatternVariablesAndMarkReadFields(
BoundPattern
pattern, bool definitely = true)
1938
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)
4792
public BoundSwitchExpressionArm(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals,
BoundPattern
pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label, bool hasErrors = false)
4809
public
BoundPattern
Pattern { get; }
4817
public BoundSwitchExpressionArm Update(ImmutableArray<LocalSymbol> locals,
BoundPattern
pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label)
5579
public BoundSwitchLabel(SyntaxNode syntax, LabelSymbol label,
BoundPattern
pattern, BoundExpression? whenClause, bool hasErrors = false)
5592
public
BoundPattern
Pattern { get; }
5598
public BoundSwitchLabel Update(LabelSymbol label,
BoundPattern
pattern, BoundExpression? whenClause)
7629
public BoundIsPatternExpression(SyntaxNode syntax, BoundExpression expression,
BoundPattern
pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type, bool hasErrors = false)
7648
public
BoundPattern
Pattern { get; }
7657
public BoundIsPatternExpression Update(BoundExpression expression,
BoundPattern
pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type)
7854
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)
7874
public ImmutableArray<
BoundPattern
> Subpatterns { get; }
7884
public BoundListPattern Update(ImmutableArray<
BoundPattern
> subpatterns, bool hasSlice, BoundExpression? lengthAccess, BoundExpression? indexerAccess, BoundListPatternReceiverPlaceholder? receiverPlaceholder, BoundListPatternIndexPlaceholder? argumentPlaceholder, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType)
7898
public BoundSlicePattern(SyntaxNode syntax,
BoundPattern
? pattern, BoundExpression? indexerAccess, BoundSlicePatternReceiverPlaceholder? receiverPlaceholder, BoundSlicePatternRangePlaceholder? argumentPlaceholder, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
7915
public
BoundPattern
? Pattern { get; }
7923
public BoundSlicePattern Update(
BoundPattern
? pattern, BoundExpression? indexerAccess, BoundSlicePatternReceiverPlaceholder? receiverPlaceholder, BoundSlicePatternRangePlaceholder? argumentPlaceholder, TypeSymbol inputType, TypeSymbol narrowedType)
7973
protected BoundSubpattern(BoundKind kind, SyntaxNode syntax,
BoundPattern
pattern, bool hasErrors = false)
7982
public
BoundPattern
Pattern { get; }
7987
public BoundPositionalSubpattern(SyntaxNode syntax, Symbol? symbol,
BoundPattern
pattern, bool hasErrors = false)
8001
public BoundPositionalSubpattern Update(Symbol? symbol,
BoundPattern
pattern)
8015
public BoundPropertySubpattern(SyntaxNode syntax, BoundPropertySubpatternMember? member, bool isLengthOrCount,
BoundPattern
pattern, bool hasErrors = false)
8031
public BoundPropertySubpattern Update(BoundPropertySubpatternMember? member, bool isLengthOrCount,
BoundPattern
pattern)
8109
public BoundBinaryPattern(SyntaxNode syntax, bool disjunction,
BoundPattern
left,
BoundPattern
right, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8124
public
BoundPattern
Left { get; }
8125
public
BoundPattern
Right { get; }
8130
public BoundBinaryPattern Update(bool disjunction,
BoundPattern
left,
BoundPattern
right, TypeSymbol inputType, TypeSymbol narrowedType)
8144
public BoundNegatedPattern(SyntaxNode syntax,
BoundPattern
negated, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8155
public
BoundPattern
Negated { get; }
8160
public BoundNegatedPattern Update(
BoundPattern
negated, TypeSymbol inputType, TypeSymbol narrowedType)
11126
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
11266
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
11614
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
11652
ImmutableArray<
BoundPattern
> subpatterns = this.VisitList(node.Subpatterns);
11664
BoundPattern
? pattern = (
BoundPattern
?)this.Visit(node.Pattern);
11681
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
11687
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
11705
BoundPattern
left = (
BoundPattern
)this.Visit(node.Left);
11706
BoundPattern
right = (
BoundPattern
)this.Visit(node.Right);
11713
BoundPattern
negated = (
BoundPattern
)this.Visit(node.Negated);
13161
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
14157
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
14216
ImmutableArray<
BoundPattern
> subpatterns = this.VisitList(node.Subpatterns);
14229
BoundPattern
? pattern = (
BoundPattern
?)this.Visit(node.Pattern);
14249
BoundPattern
pattern = (
BoundPattern
)this.Visit(node.Pattern);
14272
BoundPattern
left = (
BoundPattern
)this.Visit(node.Left);
14273
BoundPattern
right = (
BoundPattern
)this.Visit(node.Right);
14281
BoundPattern
negated = (
BoundPattern
)this.Visit(node.Negated);