9 types derived from BoundPattern
Microsoft.CodeAnalysis.CSharp (9)
Generated\BoundNodes.xml.Generated.cs (9)
8013internal sealed partial class BoundConstantPattern : BoundPattern 8046internal sealed partial class BoundDiscardPattern : BoundPattern 8082internal abstract partial class BoundObjectPattern : BoundPattern 8212internal sealed partial class BoundSlicePattern : BoundPattern 8251internal sealed partial class BoundITuplePattern : BoundPattern 8391internal sealed partial class BoundTypePattern : BoundPattern 8423internal sealed partial class BoundBinaryPattern : BoundPattern 8458internal sealed partial class BoundNegatedPattern : BoundPattern 8488internal 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( 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( 1743var left = BindPattern(node.Left, inputType, permitDesignations, hasErrors, diagnostics); 1744var right = BindPattern(node.Right, inputType, permitDesignations, hasErrors, diagnostics); 1755static void collectCandidates(BoundPattern pat, ArrayBuilder<TypeSymbol> candidates) 1827var left = BindPattern(node.Left, inputType, permitDesignations, hasErrors, diagnostics); 1828var right = BindPattern(node.Right, left.NarrowedType, permitDesignations, hasErrors, diagnostics);
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)
Compilation\CSharpSemanticModel.cs (3)
2020BoundPattern pattern = lowestBoundNode as BoundPattern ?? highestBoundNode as BoundPattern ?? (highestBoundNode is BoundSubpattern sp ? sp.Pattern : null);
FlowAnalysis\AbstractFlowPass.cs (4)
932bool negated = node.Pattern.IsNegated(out var pattern); 981static bool patternMatchesNull(BoundPattern pattern) 1021static bool? isBoolTest(BoundPattern pattern) 1061public virtual void VisitPattern(BoundPattern pattern)
FlowAnalysis\DefiniteAssignment.cs (3)
1959public override void VisitPattern(BoundPattern pattern) 1969void assignPatternVariablesAndMarkReadFields(BoundPattern pattern, bool definitely = true) 2044foreach (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)
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) 7945public BoundIsPatternExpression(SyntaxNode syntax, BoundExpression expression, BoundPattern pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type, bool hasErrors = false) 7964public BoundPattern Pattern { get; } 7973public BoundIsPatternExpression Update(BoundExpression expression, BoundPattern pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type) 8170public 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) 8190public ImmutableArray<BoundPattern> Subpatterns { get; } 8200public BoundListPattern Update(ImmutableArray<BoundPattern> subpatterns, bool hasSlice, BoundExpression? lengthAccess, BoundExpression? indexerAccess, BoundListPatternReceiverPlaceholder? receiverPlaceholder, BoundListPatternIndexPlaceholder? argumentPlaceholder, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType) 8214public BoundSlicePattern(SyntaxNode syntax, BoundPattern? pattern, BoundExpression? indexerAccess, BoundSlicePatternReceiverPlaceholder? receiverPlaceholder, BoundSlicePatternRangePlaceholder? argumentPlaceholder, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8231public BoundPattern? Pattern { get; } 8239public BoundSlicePattern Update(BoundPattern? pattern, BoundExpression? indexerAccess, BoundSlicePatternReceiverPlaceholder? receiverPlaceholder, BoundSlicePatternRangePlaceholder? argumentPlaceholder, TypeSymbol inputType, TypeSymbol narrowedType) 8289protected BoundSubpattern(BoundKind kind, SyntaxNode syntax, BoundPattern pattern, bool hasErrors = false) 8298public BoundPattern Pattern { get; } 8303public BoundPositionalSubpattern(SyntaxNode syntax, Symbol? symbol, BoundPattern pattern, bool hasErrors = false) 8317public BoundPositionalSubpattern Update(Symbol? symbol, BoundPattern pattern) 8331public BoundPropertySubpattern(SyntaxNode syntax, BoundPropertySubpatternMember? member, bool isLengthOrCount, BoundPattern pattern, bool hasErrors = false) 8347public BoundPropertySubpattern Update(BoundPropertySubpatternMember? member, bool isLengthOrCount, BoundPattern pattern) 8425public BoundBinaryPattern(SyntaxNode syntax, bool disjunction, BoundPattern left, BoundPattern right, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8440public BoundPattern Left { get; } 8441public BoundPattern Right { get; } 8446public BoundBinaryPattern Update(bool disjunction, BoundPattern left, BoundPattern right, TypeSymbol inputType, TypeSymbol narrowedType) 8460public BoundNegatedPattern(SyntaxNode syntax, BoundPattern negated, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8471public BoundPattern Negated { get; } 8476public BoundNegatedPattern Update(BoundPattern negated, TypeSymbol inputType, TypeSymbol narrowedType) 11519BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 11659BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 12046BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 12084ImmutableArray<BoundPattern> subpatterns = this.VisitList(node.Subpatterns); 12096BoundPattern? pattern = (BoundPattern?)this.Visit(node.Pattern); 12113BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 12119BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 12137BoundPattern left = (BoundPattern)this.Visit(node.Left); 12138BoundPattern right = (BoundPattern)this.Visit(node.Right); 12145BoundPattern negated = (BoundPattern)this.Visit(node.Negated); 13626BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 14692BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 14751ImmutableArray<BoundPattern> subpatterns = this.VisitList(node.Subpatterns); 14764BoundPattern? pattern = (BoundPattern?)this.Visit(node.Pattern); 14784BoundPattern pattern = (BoundPattern)this.Visit(node.Pattern); 14807BoundPattern left = (BoundPattern)this.Visit(node.Left); 14808BoundPattern right = (BoundPattern)this.Visit(node.Right); 14816BoundPattern negated = (BoundPattern)this.Visit(node.Negated);