9 types derived from BoundPattern
Microsoft.CodeAnalysis.CSharp (9)
Generated\BoundNodes.xml.Generated.cs (9)
8015internal sealed partial class BoundConstantPattern : BoundPattern 8048internal sealed partial class BoundDiscardPattern : BoundPattern 8084internal abstract partial class BoundObjectPattern : BoundPattern 8214internal sealed partial class BoundSlicePattern : BoundPattern 8253internal sealed partial class BoundITuplePattern : BoundPattern 8393internal sealed partial class BoundTypePattern : BoundPattern 8425internal sealed partial class BoundBinaryPattern : BoundPattern 8460internal sealed partial class BoundNegatedPattern : BoundPattern 8490internal sealed partial class BoundRelationalPattern : BoundPattern
144 references to BoundPattern
Microsoft.CodeAnalysis.CSharp (144)
Binder\Binder_Patterns.cs (33)
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( 836private BoundPattern BindDeclarationPattern( 956private BoundPattern BindRecursivePattern( 1144BoundPattern pattern = BindVarDesignation(variable, objectType, permitDesignations, hasErrors: false, diagnostics); 1316private BoundPattern BindVarPattern( 1342private BoundPattern BindVarDesignation( 1423BoundPattern pattern = BindVarDesignation(variable, elementType, permitDesignations, isError, diagnostics); 1446BoundPattern pattern = BindVarDesignation(variable, elementType, permitDesignations, isError, diagnostics); 1502BoundPattern boundPattern = BindPattern(pattern, memberType, permitDesignations, hasErrors, diagnostics); 1610private BoundPattern BindTypePattern( 1623private BoundPattern BindRelationalPattern( 1716private BoundPattern BindUnaryPattern( 1726var subPattern = BindPattern(node.Pattern, inputType, permitDesignations, hasErrors, diagnostics, underIsPattern); 1730private BoundPattern BindBinaryPattern( 1752BoundPattern result = BindPattern(binaryPatternAndPermitDesignations.pat.Left, inputType, binaryPatternAndPermitDesignations.permitDesignations, hasErrors, diagnostics); 1773static BoundPattern bindBinaryPattern( 1774BoundPattern preboundLeft, 1789var right = binder.BindPattern(node.Right, inputType, permitDesignations, hasErrors, diagnostics); 1856var right = binder.BindPattern(node.Right, preboundLeft.NarrowedType, permitDesignations, hasErrors, diagnostics); 1863static void collectCandidates(BoundPattern pat, ArrayBuilder<TypeSymbol> candidates)
Binder\DecisionDagBuilder.cs (9)
117BoundPattern pattern, 130BoundPattern pattern, 187BoundPattern pattern, 197BoundPattern pattern, 270BoundPattern pattern, 283BoundPattern pattern, 539BoundPattern pattern = recursive.Deconstruction[i].Pattern; 560BoundPattern pattern = recursive.Deconstruction[i].Pattern; 583BoundPattern 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)
BoundTree\BoundTreeRewriter.cs (6)
81if (node is BoundExpression or BoundPattern) 200BoundPattern child = node.Left; 225var left = (BoundPattern?)this.Visit(child); 231var right = (BoundPattern?)this.Visit(binary.Right);
BoundTree\BoundTreeVisitors.cs (1)
202Debug.Assert(node is BoundExpression or BoundPattern);
BoundTree\BoundTreeWalker.cs (4)
73if (node is BoundExpression or BoundPattern) 88Debug.Assert(node is BoundExpression or BoundPattern); 152var rightOperands = ArrayBuilder<BoundPattern>.GetInstance(); 157BoundPattern? current = binary.Left;
Compilation\CSharpSemanticModel.cs (3)
2020BoundPattern pattern = lowestBoundNode as BoundPattern ?? highestBoundNode as BoundPattern ?? (highestBoundNode is BoundSubpattern sp ? sp.Pattern : null);
Compilation\MemberSemanticModel.NodeMapBuilder.cs (2)
225var stack = ArrayBuilder<BoundPattern>.GetInstance(); 228BoundPattern currentPattern = binaryPattern.Left;
FlowAnalysis\AbstractFlowPass.cs (5)
364if (node is BoundExpression or BoundPattern) 931bool negated = node.Pattern.IsNegated(out var pattern); 980static bool patternMatchesNull(BoundPattern pattern) 1030static bool? isBoolTest(BoundPattern pattern) 1103public virtual void VisitPattern(BoundPattern pattern)
FlowAnalysis\DefiniteAssignment.cs (3)
1979public override void VisitPattern(BoundPattern pattern) 1989void assignPatternVariablesAndMarkReadFields(BoundPattern pattern, bool definitely = true) 2064foreach (BoundPattern p in pat.Subpatterns)
FlowAnalysis\NullableWalker.cs (1)
3528Debug.Assert(node is BoundExpression or BoundPattern);
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
98if (node is BoundExpression or BoundPattern)
FlowAnalysis\NullableWalker_Patterns.cs (2)
26BoundPattern pattern) 155BoundPattern pattern)
FlowAnalysis\VariablesDeclaredWalker.cs (2)
50public override void VisitPattern(BoundPattern pattern) 69private void NoteDeclaredPatternVariables(BoundPattern pattern)
Generated\BoundNodes.xml.Generated.cs (64)
4903public BoundSwitchExpressionArm(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundPattern pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label, bool hasErrors = false) 4920public BoundPattern Pattern { get; } 4928public BoundSwitchExpressionArm Update(ImmutableArray<LocalSymbol> locals, BoundPattern pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label) 5690public BoundSwitchLabel(SyntaxNode syntax, LabelSymbol label, BoundPattern pattern, BoundExpression? whenClause, bool hasErrors = false) 5703public BoundPattern Pattern { get; } 5709public BoundSwitchLabel Update(LabelSymbol label, BoundPattern pattern, BoundExpression? whenClause) 7947public BoundIsPatternExpression(SyntaxNode syntax, BoundExpression expression, BoundPattern pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type, bool hasErrors = false) 7966public BoundPattern Pattern { get; } 7975public BoundIsPatternExpression Update(BoundExpression expression, BoundPattern pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type) 8172public 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) 8192public ImmutableArray<BoundPattern> Subpatterns { get; } 8202public BoundListPattern Update(ImmutableArray<BoundPattern> subpatterns, bool hasSlice, BoundExpression? lengthAccess, BoundExpression? indexerAccess, BoundListPatternReceiverPlaceholder? receiverPlaceholder, BoundListPatternIndexPlaceholder? argumentPlaceholder, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType) 8216public BoundSlicePattern(SyntaxNode syntax, BoundPattern? pattern, BoundExpression? indexerAccess, BoundSlicePatternReceiverPlaceholder? receiverPlaceholder, BoundSlicePatternRangePlaceholder? argumentPlaceholder, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8233public BoundPattern? Pattern { get; } 8241public BoundSlicePattern Update(BoundPattern? pattern, BoundExpression? indexerAccess, BoundSlicePatternReceiverPlaceholder? receiverPlaceholder, BoundSlicePatternRangePlaceholder? argumentPlaceholder, TypeSymbol inputType, TypeSymbol narrowedType) 8291protected BoundSubpattern(BoundKind kind, SyntaxNode syntax, BoundPattern pattern, bool hasErrors = false) 8300public BoundPattern Pattern { get; } 8305public BoundPositionalSubpattern(SyntaxNode syntax, Symbol? symbol, BoundPattern pattern, bool hasErrors = false) 8319public BoundPositionalSubpattern Update(Symbol? symbol, BoundPattern pattern) 8333public BoundPropertySubpattern(SyntaxNode syntax, BoundPropertySubpatternMember? member, bool isLengthOrCount, BoundPattern pattern, bool hasErrors = false) 8349public BoundPropertySubpattern Update(BoundPropertySubpatternMember? member, bool isLengthOrCount, BoundPattern pattern) 8427public BoundBinaryPattern(SyntaxNode syntax, bool disjunction, BoundPattern left, BoundPattern right, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8442public BoundPattern Left { get; } 8443public BoundPattern Right { get; } 8448public BoundBinaryPattern Update(bool disjunction, BoundPattern left, BoundPattern right, TypeSymbol inputType, TypeSymbol narrowedType) 8462public BoundNegatedPattern(SyntaxNode syntax, BoundPattern negated, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8473public BoundPattern Negated { get; } 8478public BoundNegatedPattern Update(BoundPattern negated, TypeSymbol inputType, TypeSymbol narrowedType) 11521BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 11661BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 12048BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 12086ImmutableArray<BoundPattern> subpatterns = this.VisitList(node.Subpatterns); 12098BoundPattern? pattern = (BoundPattern?)this.Visit(node.Pattern); 12115BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 12121BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 12139BoundPattern left = (BoundPattern)this.Visit(node.Left); 12140BoundPattern right = (BoundPattern)this.Visit(node.Right); 12147BoundPattern negated = (BoundPattern)this.Visit(node.Negated); 13628BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 14694BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 14753ImmutableArray<BoundPattern> subpatterns = this.VisitList(node.Subpatterns); 14766BoundPattern? pattern = (BoundPattern?)this.Visit(node.Pattern); 14786BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 14809BoundPattern left = (BoundPattern)this.Visit(node.Left); 14810BoundPattern right = (BoundPattern)this.Visit(node.Right); 14818BoundPattern negated = (BoundPattern)this.Visit(node.Negated);