14 types derived from BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (14)
Generated\BoundNodes.xml.Generated.cs (14)
439internal abstract partial class BoundEarlyValuePlaceholderBase : BoundValuePlaceholderBase 453internal sealed partial class BoundValuePlaceholder : BoundValuePlaceholderBase 481internal 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 900internal sealed partial class BoundCollectionBuilderElementsPlaceholder : BoundValuePlaceholderBase 6577internal sealed partial class BoundCollectionExpressionSpreadExpressionPlaceholder : BoundValuePlaceholderBase 7949internal sealed partial class BoundInterpolatedStringHandlerPlaceholder : BoundValuePlaceholderBase 7977internal 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"); 2665Debug.Assert(receiver is not BoundValuePlaceholderBase && method is not null && receiver.Type?.IsReferenceType == false); 4410return GetPlaceholderScope((BoundValuePlaceholderBase)expr); 5065if (!GetPlaceholderScope((BoundValuePlaceholderBase)expr).IsConvertibleTo(escapeTo))
Binder\Binder_Expressions.cs (1)
10767BoundValuePlaceholderBase receiverPlaceholder,
Binder\Binder_Invocation.cs (1)
1400if (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; 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) 5896if (expression is BoundValuePlaceholderBase placeholder) 13221private 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");