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 903internal sealed partial class BoundCollectionBuilderElementsPlaceholder : BoundValuePlaceholderBase 6612internal sealed partial class BoundCollectionExpressionSpreadExpressionPlaceholder : BoundValuePlaceholderBase 7984internal sealed partial class BoundInterpolatedStringHandlerPlaceholder : BoundValuePlaceholderBase 8012internal sealed partial class BoundInterpolatedStringArgumentPlaceholder : BoundValuePlaceholderBase
45 references to BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (45)
Binder\Binder.ValueChecks.cs (4)
1215RoslynDebug.Assert(expr is not BoundValuePlaceholderBase, $"Placeholder kind {expr.Kind} should be explicitly handled"); 2670Debug.Assert(receiver is not BoundValuePlaceholderBase && method is not null && receiver.Type?.IsReferenceType == false); 4415return GetPlaceholderScope((BoundValuePlaceholderBase)expr); 5070if (!GetPlaceholderScope((BoundValuePlaceholderBase)expr).IsConvertibleTo(escapeTo))
Binder\Binder_Expressions.cs (1)
10798BoundValuePlaceholderBase receiverPlaceholder,
Binder\Binder_Invocation.cs (1)
1401if (receiver is BoundValuePlaceholderBase || receiver?.Type is null or { IsReferenceType: true })
Binder\RefSafetyAnalysis.cs (19)
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(); 750var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 870ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> placeholders, 1079var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 1086private void GetAwaitableInstancePlaceholders(ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> placeholders, BoundAwaitableInfo awaitableInfo, SafeContext valEscapeScope) 1147var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 1281var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 1326var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance();
FlowAnalysis\NullableWalker.cs (7)
258private PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>? _resultForPlaceholdersOpt; 571private void AddPlaceholderReplacement(BoundValuePlaceholderBase placeholder, BoundExpression? expression, VisitResult result) 578_resultForPlaceholdersOpt ??= PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>.GetInstance(); 582private void RemovePlaceholderReplacement(BoundValuePlaceholderBase placeholder) 590private static void AssertPlaceholderAllowedWithoutRegistration(BoundValuePlaceholderBase placeholder) 5968if (expression is BoundValuePlaceholderBase placeholder) 13646private 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; 510private BoundExpression PlaceholderReplacement(BoundValuePlaceholderBase placeholder) 519private static void AssertPlaceholderReplacement(BoundValuePlaceholderBase placeholder, BoundExpression value) 540private void AddPlaceholderReplacement(BoundValuePlaceholderBase placeholder, BoundExpression value) 546_placeholderReplacementMapDoNotUseDirectly = new Dictionary<BoundValuePlaceholderBase, BoundExpression>(); 556private void RemovePlaceholderReplacement(BoundValuePlaceholderBase placeholder) 1134RoslynDebug.Assert(expr is not BoundValuePlaceholderBase, $"Placeholder kind {expr.Kind} must be handled explicitly");