14 types derived from BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (14)
Generated\BoundNodes.xml.Generated.cs (14)
442internal abstract partial class BoundEarlyValuePlaceholderBase : BoundValuePlaceholderBase 456internal sealed partial class BoundValuePlaceholder : BoundValuePlaceholderBase 484internal sealed partial class BoundCapturedReceiverPlaceholder : BoundValuePlaceholderBase 512internal sealed partial class BoundDeconstructValuePlaceholder : BoundValuePlaceholderBase 553internal sealed partial class BoundTupleOperandPlaceholder : BoundValuePlaceholderBase 588internal sealed partial class BoundAwaitableValuePlaceholder : BoundValuePlaceholderBase 617internal sealed partial class BoundDisposableValuePlaceholder : BoundValuePlaceholderBase 652internal sealed partial class BoundObjectOrCollectionValuePlaceholder : BoundValuePlaceholderBase 690internal sealed partial class BoundImplicitIndexerValuePlaceholder : BoundValuePlaceholderBase 725internal sealed partial class BoundImplicitIndexerReceiverPlaceholder : BoundValuePlaceholderBase 897internal sealed partial class BoundCollectionBuilderElementsPlaceholder : BoundValuePlaceholderBase 6592internal sealed partial class BoundCollectionExpressionSpreadExpressionPlaceholder : BoundValuePlaceholderBase 7964internal sealed partial class BoundInterpolatedStringHandlerPlaceholder : BoundValuePlaceholderBase 7992internal sealed partial class BoundInterpolatedStringArgumentPlaceholder : BoundValuePlaceholderBase
50 references to BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (50)
Binder\Binder.ValueChecks.cs (4)
1212RoslynDebug.Assert(expr is not BoundValuePlaceholderBase, $"Placeholder kind {expr.Kind} should be explicitly handled"); 2673Debug.Assert(receiver is not BoundValuePlaceholderBase && method is not null && receiver.Type?.IsReferenceType == false); 4405return GetPlaceholderScope((BoundValuePlaceholderBase)expr); 5101if (!GetPlaceholderScope((BoundValuePlaceholderBase)expr).IsConvertibleTo(escapeTo))
Binder\Binder_Expressions.cs (4)
9391BoundValuePlaceholderBase receiver, 9418BoundValuePlaceholderBase receiver, 9494BoundValuePlaceholderBase receiverPlaceholder, 11491BoundValuePlaceholderBase receiverPlaceholder,
Binder\Binder_Invocation.cs (1)
1426if (receiver is BoundValuePlaceholderBase || receiver?.Type is null or { IsReferenceType: true })
Binder\RefSafetyAnalysis.cs (21)
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) 408var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 425var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 766var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 887ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> placeholders, 1116var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 1123private void GetAwaitableInstancePlaceholders(ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> placeholders, BoundAwaitableInfo awaitableInfo, SafeContext valEscapeScope) 1184var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 1318var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 1365var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 1388var nodePlaceholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 1401var spreadPlaceholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance();
FlowAnalysis\NullableWalker.cs (7)
258private PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>? _resultForPlaceholdersOpt; 588private void AddPlaceholderReplacement(BoundValuePlaceholderBase placeholder, BoundExpression? expression, VisitResult result) 595_resultForPlaceholdersOpt ??= PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>.GetInstance(); 599private void RemovePlaceholderReplacement(BoundValuePlaceholderBase placeholder) 607private static void AssertPlaceholderAllowedWithoutRegistration(BoundValuePlaceholderBase placeholder) 6006if (expression is BoundValuePlaceholderBase placeholder) 13762private 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)
54private Dictionary<BoundValuePlaceholderBase, BoundExpression>? _placeholderReplacementMapDoNotUseDirectly; 511private BoundExpression PlaceholderReplacement(BoundValuePlaceholderBase placeholder) 520private static void AssertPlaceholderReplacement(BoundValuePlaceholderBase placeholder, BoundExpression value) 541private void AddPlaceholderReplacement(BoundValuePlaceholderBase placeholder, BoundExpression value) 547_placeholderReplacementMapDoNotUseDirectly = new Dictionary<BoundValuePlaceholderBase, BoundExpression>(); 557private void RemovePlaceholderReplacement(BoundValuePlaceholderBase placeholder) 1132RoslynDebug.Assert(expr is not BoundValuePlaceholderBase, $"Placeholder kind {expr.Kind} must be handled explicitly");