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 6593internal sealed partial class BoundCollectionExpressionSpreadExpressionPlaceholder : BoundValuePlaceholderBase 7965internal sealed partial class BoundInterpolatedStringHandlerPlaceholder : BoundValuePlaceholderBase 7993internal sealed partial class BoundInterpolatedStringArgumentPlaceholder : BoundValuePlaceholderBase
50 references to BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (50)
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\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\RefSafetyAnalysis.cs (21)
72private Dictionary<BoundValuePlaceholderBase, SafeContextAndLocation>? _placeholderScopes; 168private readonly ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> _placeholders; 170public PlaceholderRegion(RefSafetyAnalysis analysis, ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> placeholders) 241private void AddPlaceholderScope(BoundValuePlaceholderBase placeholder, SafeContextAndLocation valEscapeScope) 253_placeholderScopes ??= new Dictionary<BoundValuePlaceholderBase, SafeContextAndLocation>(); 258private void RemovePlaceholderScope(BoundValuePlaceholderBase placeholder) 268private SafeContext GetPlaceholderScope(BoundValuePlaceholderBase placeholder) 278private bool ContainsPlaceholderScope(BoundValuePlaceholderBase placeholder) 342if (node is BoundValuePlaceholderBase placeholder) 358if (expr is BoundValuePlaceholderBase placeholder) 413var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 430var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 771var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 892ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> placeholders, 1121var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 1128private void GetAwaitableInstancePlaceholders(ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> placeholders, BoundAwaitableInfo awaitableInfo, SafeContext valEscapeScope) 1189var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 1323var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 1370var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 1393var nodePlaceholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)>.GetInstance(); 1406var 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) 5992if (expression is BoundValuePlaceholderBase placeholder) 13752private 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");