13 types derived from BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (13)
Generated\BoundNodes.xml.Generated.cs (13)
455internal abstract partial class BoundEarlyValuePlaceholderBase : BoundValuePlaceholderBase 469internal sealed partial class BoundValuePlaceholder : BoundValuePlaceholderBase 497internal sealed partial class BoundCapturedReceiverPlaceholder : BoundValuePlaceholderBase 527internal sealed partial class BoundDeconstructValuePlaceholder : BoundValuePlaceholderBase 568internal sealed partial class BoundTupleOperandPlaceholder : BoundValuePlaceholderBase 603internal sealed partial class BoundAwaitableValuePlaceholder : BoundValuePlaceholderBase 632internal sealed partial class BoundDisposableValuePlaceholder : BoundValuePlaceholderBase 667internal sealed partial class BoundObjectOrCollectionValuePlaceholder : BoundValuePlaceholderBase 705internal sealed partial class BoundImplicitIndexerValuePlaceholder : BoundValuePlaceholderBase 740internal sealed partial class BoundImplicitIndexerReceiverPlaceholder : BoundValuePlaceholderBase 6476internal sealed partial class BoundCollectionExpressionSpreadExpressionPlaceholder : BoundValuePlaceholderBase 7842internal sealed partial class BoundInterpolatedStringHandlerPlaceholder : BoundValuePlaceholderBase 7870internal sealed partial class BoundInterpolatedStringArgumentPlaceholder : BoundValuePlaceholderBase
42 references to BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (42)
Binder\Binder.ValueChecks.cs (4)
942Debug.Assert(expr is not BoundValuePlaceholderBase, $"Placeholder kind {expr.Kind} should be explicitly handled"); 2277Debug.Assert(receiver is not BoundValuePlaceholderBase && method is not null && receiver.Type?.IsReferenceType == false); 4070return GetPlaceholderScope((BoundValuePlaceholderBase)expr); 4757if (GetPlaceholderScope((BoundValuePlaceholderBase)expr) > escapeTo)
Binder\Binder_Expressions.cs (1)
10044BoundValuePlaceholderBase receiverPlaceholder,
Binder\Binder_Invocation.cs (1)
1336if (receiver is BoundValuePlaceholderBase || receiver?.Type is null or { IsReferenceType: true })
Binder\RefSafetyAnalysis.cs (18)
64private Dictionary<BoundValuePlaceholderBase, uint>? _placeholderScopes; 156private readonly ArrayBuilder<(BoundValuePlaceholderBase, uint)> _placeholders; 158public PlaceholderRegion(RefSafetyAnalysis analysis, ArrayBuilder<(BoundValuePlaceholderBase, uint)> placeholders) 194private void AddPlaceholderScope(BoundValuePlaceholderBase placeholder, uint valEscapeScope) 201_placeholderScopes ??= new Dictionary<BoundValuePlaceholderBase, uint>(); 206private void RemovePlaceholderScope(BoundValuePlaceholderBase placeholder) 216private uint GetPlaceholderScope(BoundValuePlaceholderBase placeholder) 226private bool ContainsPlaceholderScope(BoundValuePlaceholderBase placeholder) 279if (node is BoundValuePlaceholderBase placeholder) 295if (expr is BoundValuePlaceholderBase placeholder) 354var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, uint)>.GetInstance(); 371var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, uint)>.GetInstance(); 652var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, uint)>.GetInstance(); 683ArrayBuilder<(BoundValuePlaceholderBase, uint)> placeholders, 892var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, uint)>.GetInstance(); 899private void GetAwaitableInstancePlaceholders(ArrayBuilder<(BoundValuePlaceholderBase, uint)> placeholders, BoundAwaitableInfo awaitableInfo, uint valEscapeScope) 953var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, uint)>.GetInstance(); 1089var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, uint)>.GetInstance();
FlowAnalysis\NullableWalker.cs (7)
233private PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>? _resultForPlaceholdersOpt; 535private void AddPlaceholderReplacement(BoundValuePlaceholderBase placeholder, BoundExpression? expression, VisitResult result) 542_resultForPlaceholdersOpt ??= PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>.GetInstance(); 546private void RemovePlaceholderReplacement(BoundValuePlaceholderBase placeholder) 554private static void AssertPlaceholderAllowedWithoutRegistration(BoundValuePlaceholderBase placeholder) 5290if (expression is BoundValuePlaceholderBase placeholder) 11893private void VisitPlaceholderWithReplacement(BoundValuePlaceholderBase node)
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (2)
62private readonly Dictionary<BoundValuePlaceholderBase, BoundExpression> _placeholderMap; 95_placeholderMap = new Dictionary<BoundValuePlaceholderBase, BoundExpression>();
Lowering\LocalRewriter\LocalRewriter.cs (7)
53private Dictionary<BoundValuePlaceholderBase, BoundExpression>? _placeholderReplacementMapDoNotUseDirectly; 501private BoundExpression PlaceholderReplacement(BoundValuePlaceholderBase placeholder) 510private static void AssertPlaceholderReplacement(BoundValuePlaceholderBase placeholder, BoundExpression value) 531private void AddPlaceholderReplacement(BoundValuePlaceholderBase placeholder, BoundExpression value) 537_placeholderReplacementMapDoNotUseDirectly = new Dictionary<BoundValuePlaceholderBase, BoundExpression>(); 547private void RemovePlaceholderReplacement(BoundValuePlaceholderBase placeholder) 1120Debug.Assert(expr is not BoundValuePlaceholderBase, $"Placeholder kind {expr.Kind} must be handled explicitly");
Lowering\MethodToClassRewriter.cs (2)
54private readonly Dictionary<BoundValuePlaceholderBase, BoundExpression> _placeholderMap; 65this._placeholderMap = new Dictionary<BoundValuePlaceholderBase, BoundExpression>();