9 types derived from BoundPattern
Microsoft.CodeAnalysis.CSharp (9)
Generated\BoundNodes.xml.Generated.cs (9)
7697internal sealed partial class BoundConstantPattern : BoundPattern 7730internal sealed partial class BoundDiscardPattern : BoundPattern 7766internal abstract partial class BoundObjectPattern : BoundPattern 7896internal sealed partial class BoundSlicePattern : BoundPattern 7935internal sealed partial class BoundITuplePattern : BoundPattern 8075internal sealed partial class BoundTypePattern : BoundPattern 8107internal sealed partial class BoundBinaryPattern : BoundPattern 8142internal sealed partial class BoundNegatedPattern : BoundPattern 8172internal sealed partial class BoundRelationalPattern : BoundPattern
127 references to BoundPattern
Microsoft.CodeAnalysis.CSharp (127)
Binder\Binder_Patterns.cs (32)
38BoundPattern pattern = BindPattern(node.Pattern, expression.Type, permitDesignations: true, hasErrors, diagnostics, underIsPattern: true); 48BoundPattern pattern, 57bool negated = pattern.IsNegated(out var innerPattern); 163internal BoundPattern BindPattern( 189private BoundPattern BindParenthesizedPattern( 201private BoundPattern BindSlicePattern( 216BoundPattern? pattern = null; 258private ImmutableArray<BoundPattern> BindListPatternSubpatterns( 268var builder = ArrayBuilder<BoundPattern>.GetInstance(subpatterns.Count); 271BoundPattern boundPattern; 326ImmutableArray<BoundPattern> subpatterns = BindListPatternSubpatterns( 401private static BoundPattern BindDiscardPattern(DiscardPatternSyntax node, TypeSymbol inputType, BindingDiagnosticBag diagnostics) 407private BoundPattern BindConstantPatternWithFallbackToTypePattern( 416internal BoundPattern BindConstantPatternWithFallbackToTypePattern( 827private BoundPattern BindDeclarationPattern( 947private BoundPattern BindRecursivePattern( 1135BoundPattern pattern = BindVarDesignation(variable, objectType, permitDesignations, hasErrors: false, diagnostics); 1307private BoundPattern BindVarPattern( 1333private BoundPattern BindVarDesignation( 1414BoundPattern pattern = BindVarDesignation(variable, elementType, permitDesignations, isError, diagnostics); 1437BoundPattern pattern = BindVarDesignation(variable, elementType, permitDesignations, isError, diagnostics); 1493BoundPattern boundPattern = BindPattern(pattern, memberType, permitDesignations, hasErrors, diagnostics); 1601private BoundPattern BindTypePattern( 1614private BoundPattern BindRelationalPattern( 1706private BoundPattern BindUnaryPattern( 1716var subPattern = BindPattern(node.Pattern, inputType, permitDesignations, hasErrors, diagnostics, underIsPattern); 1720private BoundPattern BindBinaryPattern( 1733var left = BindPattern(node.Left, inputType, permitDesignations, hasErrors, diagnostics); 1734var right = BindPattern(node.Right, inputType, permitDesignations, hasErrors, diagnostics); 1745static void collectCandidates(BoundPattern pat, ArrayBuilder<TypeSymbol> candidates) 1817var left = BindPattern(node.Left, inputType, permitDesignations, hasErrors, diagnostics); 1818var right = BindPattern(node.Right, left.NarrowedType, permitDesignations, hasErrors, diagnostics);
Binder\DecisionDagBuilder.cs (9)
118BoundPattern pattern, 131BoundPattern pattern, 184BoundPattern pattern, 194BoundPattern pattern, 267BoundPattern pattern, 280BoundPattern pattern, 536BoundPattern pattern = recursive.Deconstruction[i].Pattern; 557BoundPattern pattern = recursive.Deconstruction[i].Pattern; 580BoundPattern pattern = subpattern.Pattern;
Binder\DecisionDagBuilder_ListPatterns.cs (2)
49foreach (BoundPattern subpattern in subpatterns) 56if (slice.Pattern is BoundPattern slicePattern)
Binder\SwitchBinder_Patterns.cs (3)
240BoundPattern pattern = sectionBinder.BindConstantPatternWithFallbackToTypePattern( 272BoundPattern pattern = sectionBinder.BindPattern( 286void reportIfConstantNamedUnderscore(BoundPattern pattern, ExpressionSyntax expression)
Binder\SwitchExpressionArmBinder.cs (1)
42BoundPattern pattern = armBinder.BindPattern(node.Pattern, switchGoverningType, permitDesignations: true, hasErrors, diagnostics);
BoundTree\BoundIsPatternExpression.cs (1)
16bool negated = this.Pattern.IsNegated(out var innerPattern);
BoundTree\BoundPattern.cs (1)
14internal bool IsNegated(out BoundPattern innerPattern)
Compilation\CSharpSemanticModel.cs (3)
2041BoundPattern pattern = lowestBoundNode as BoundPattern ?? highestBoundNode as BoundPattern ?? (highestBoundNode is BoundSubpattern sp ? sp.Pattern : null);
FlowAnalysis\AbstractFlowPass.cs (4)
924bool negated = node.Pattern.IsNegated(out var pattern); 973static bool patternMatchesNull(BoundPattern pattern) 1013static bool? isBoolTest(BoundPattern pattern) 1053public virtual void VisitPattern(BoundPattern pattern)
FlowAnalysis\DefiniteAssignment.cs (3)
1853public override void VisitPattern(BoundPattern pattern) 1863void assignPatternVariablesAndMarkReadFields(BoundPattern pattern, bool definitely = true) 1938foreach (BoundPattern p in pat.Subpatterns)
FlowAnalysis\NullableWalker_Patterns.cs (2)
26BoundPattern pattern) 133BoundPattern pattern)
FlowAnalysis\VariablesDeclaredWalker.cs (2)
50public override void VisitPattern(BoundPattern pattern) 69private void NoteDeclaredPatternVariables(BoundPattern pattern)
Generated\BoundNodes.xml.Generated.cs (64)
4792public BoundSwitchExpressionArm(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundPattern pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label, bool hasErrors = false) 4809public BoundPattern Pattern { get; } 4817public BoundSwitchExpressionArm Update(ImmutableArray<LocalSymbol> locals, BoundPattern pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label) 5579public BoundSwitchLabel(SyntaxNode syntax, LabelSymbol label, BoundPattern pattern, BoundExpression? whenClause, bool hasErrors = false) 5592public BoundPattern Pattern { get; } 5598public BoundSwitchLabel Update(LabelSymbol label, BoundPattern pattern, BoundExpression? whenClause) 7629public BoundIsPatternExpression(SyntaxNode syntax, BoundExpression expression, BoundPattern pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type, bool hasErrors = false) 7648public BoundPattern Pattern { get; } 7657public BoundIsPatternExpression Update(BoundExpression expression, BoundPattern pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type) 7854public 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) 7874public ImmutableArray<BoundPattern> Subpatterns { get; } 7884public BoundListPattern Update(ImmutableArray<BoundPattern> subpatterns, bool hasSlice, BoundExpression? lengthAccess, BoundExpression? indexerAccess, BoundListPatternReceiverPlaceholder? receiverPlaceholder, BoundListPatternIndexPlaceholder? argumentPlaceholder, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType) 7898public BoundSlicePattern(SyntaxNode syntax, BoundPattern? pattern, BoundExpression? indexerAccess, BoundSlicePatternReceiverPlaceholder? receiverPlaceholder, BoundSlicePatternRangePlaceholder? argumentPlaceholder, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 7915public BoundPattern? Pattern { get; } 7923public BoundSlicePattern Update(BoundPattern? pattern, BoundExpression? indexerAccess, BoundSlicePatternReceiverPlaceholder? receiverPlaceholder, BoundSlicePatternRangePlaceholder? argumentPlaceholder, TypeSymbol inputType, TypeSymbol narrowedType) 7973protected BoundSubpattern(BoundKind kind, SyntaxNode syntax, BoundPattern pattern, bool hasErrors = false) 7982public BoundPattern Pattern { get; } 7987public BoundPositionalSubpattern(SyntaxNode syntax, Symbol? symbol, BoundPattern pattern, bool hasErrors = false) 8001public BoundPositionalSubpattern Update(Symbol? symbol, BoundPattern pattern) 8015public BoundPropertySubpattern(SyntaxNode syntax, BoundPropertySubpatternMember? member, bool isLengthOrCount, BoundPattern pattern, bool hasErrors = false) 8031public BoundPropertySubpattern Update(BoundPropertySubpatternMember? member, bool isLengthOrCount, BoundPattern pattern) 8109public BoundBinaryPattern(SyntaxNode syntax, bool disjunction, BoundPattern left, BoundPattern right, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8124public BoundPattern Left { get; } 8125public BoundPattern Right { get; } 8130public BoundBinaryPattern Update(bool disjunction, BoundPattern left, BoundPattern right, TypeSymbol inputType, TypeSymbol narrowedType) 8144public BoundNegatedPattern(SyntaxNode syntax, BoundPattern negated, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8155public BoundPattern Negated { get; } 8160public BoundNegatedPattern Update(BoundPattern negated, TypeSymbol inputType, TypeSymbol narrowedType) 11126BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 11266BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 11614BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 11652ImmutableArray<BoundPattern> subpatterns = this.VisitList(node.Subpatterns); 11664BoundPattern? pattern = (BoundPattern?)this.Visit(node.Pattern); 11681BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 11687BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 11705BoundPattern left = (BoundPattern)this.Visit(node.Left); 11706BoundPattern right = (BoundPattern)this.Visit(node.Right); 11713BoundPattern negated = (BoundPattern)this.Visit(node.Negated); 13161BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 14157BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 14216ImmutableArray<BoundPattern> subpatterns = this.VisitList(node.Subpatterns); 14229BoundPattern? pattern = (BoundPattern?)this.Visit(node.Pattern); 14249BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 14272BoundPattern left = (BoundPattern)this.Visit(node.Left); 14273BoundPattern right = (BoundPattern)this.Visit(node.Right); 14281BoundPattern negated = (BoundPattern)this.Visit(node.Negated);