13 types derived from BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (13)
Generated\BoundNodes.xml.Generated.cs (13)
437internal abstract partial class BoundEarlyValuePlaceholderBase : BoundValuePlaceholderBase 451internal sealed partial class BoundValuePlaceholder : BoundValuePlaceholderBase 479internal sealed partial class BoundCapturedReceiverPlaceholder : BoundValuePlaceholderBase 509internal sealed partial class BoundDeconstructValuePlaceholder : BoundValuePlaceholderBase 550internal sealed partial class BoundTupleOperandPlaceholder : BoundValuePlaceholderBase 585internal sealed partial class BoundAwaitableValuePlaceholder : BoundValuePlaceholderBase 614internal sealed partial class BoundDisposableValuePlaceholder : BoundValuePlaceholderBase 649internal sealed partial class BoundObjectOrCollectionValuePlaceholder : BoundValuePlaceholderBase 687internal sealed partial class BoundImplicitIndexerValuePlaceholder : BoundValuePlaceholderBase 722internal sealed partial class BoundImplicitIndexerReceiverPlaceholder : BoundValuePlaceholderBase 6486internal sealed partial class BoundCollectionExpressionSpreadExpressionPlaceholder : BoundValuePlaceholderBase 7854internal sealed partial class BoundInterpolatedStringHandlerPlaceholder : BoundValuePlaceholderBase 7882internal sealed partial class BoundInterpolatedStringArgumentPlaceholder : BoundValuePlaceholderBase
44 references to BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (44)
Binder\Binder.ValueChecks.cs (4)
1196RoslynDebug.Assert(expr is not BoundValuePlaceholderBase, $"Placeholder kind {expr.Kind} should be explicitly handled"); 2626Debug.Assert(receiver is not BoundValuePlaceholderBase && method is not null && receiver.Type?.IsReferenceType == false); 4387return GetPlaceholderScope((BoundValuePlaceholderBase)expr); 5050if (!GetPlaceholderScope((BoundValuePlaceholderBase)expr).IsConvertibleTo(escapeTo))
Binder\Binder_Expressions.cs (1)
10541BoundValuePlaceholderBase receiverPlaceholder,
Binder\Binder_Invocation.cs (1)
1402if (receiver is BoundValuePlaceholderBase || receiver?.Type is null or { IsReferenceType: true })
Binder\RefSafetyAnalysis.cs (18)
67private Dictionary<BoundValuePlaceholderBase, SafeContextAndLocation>? _placeholderScopes; 163private readonly ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> _placeholders; 165public PlaceholderRegion(RefSafetyAnalysis analysis, ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> placeholders) 236private void AddPlaceholderScope(BoundValuePlaceholderBase placeholder, SafeContextAndLocation valEscapeScope) 248_placeholderScopes ??= new Dictionary<BoundValuePlaceholderBase, SafeContextAndLocation>(); 253private void RemovePlaceholderScope(BoundValuePlaceholderBase placeholder) 263private SafeContext GetPlaceholderScope(BoundValuePlaceholderBase placeholder) 273private bool ContainsPlaceholderScope(BoundValuePlaceholderBase placeholder) 337if (node is BoundValuePlaceholderBase placeholder) 353if (expr is BoundValuePlaceholderBase placeholder) 407var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 424var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 751var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 872ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> placeholders, 1084var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 1091private void GetAwaitableInstancePlaceholders(ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> placeholders, BoundAwaitableInfo awaitableInfo, SafeContext valEscapeScope) 1152var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 1288var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance();
FlowAnalysis\NullableWalker.cs (7)
258private PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>? _resultForPlaceholdersOpt; 569private void AddPlaceholderReplacement(BoundValuePlaceholderBase placeholder, BoundExpression? expression, VisitResult result) 576_resultForPlaceholdersOpt ??= PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>.GetInstance(); 580private void RemovePlaceholderReplacement(BoundValuePlaceholderBase placeholder) 588private static void AssertPlaceholderAllowedWithoutRegistration(BoundValuePlaceholderBase placeholder) 5738if (expression is BoundValuePlaceholderBase placeholder) 13037private void VisitPlaceholderWithReplacement(BoundValuePlaceholderBase node)
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (2)
64private readonly Dictionary<BoundValuePlaceholderBase, BoundExpression> _placeholderMap; 103_placeholderMap = new Dictionary<BoundValuePlaceholderBase, BoundExpression>();
Lowering\BoundTreeToDifferentEnclosingContextRewriter.cs (4)
27private readonly Dictionary<BoundValuePlaceholderBase, BoundValuePlaceholderBase> _placeholderMap = new Dictionary<BoundValuePlaceholderBase, BoundValuePlaceholderBase>();
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) 1125RoslynDebug.Assert(expr is not BoundValuePlaceholderBase, $"Placeholder kind {expr.Kind} must be handled explicitly");