13 types derived from BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (13)
Generated\BoundNodes.xml.Generated.cs (13)
456internal abstract partial class BoundEarlyValuePlaceholderBase : BoundValuePlaceholderBase 470internal sealed partial class BoundValuePlaceholder : BoundValuePlaceholderBase 498internal sealed partial class BoundCapturedReceiverPlaceholder : BoundValuePlaceholderBase 528internal sealed partial class BoundDeconstructValuePlaceholder : BoundValuePlaceholderBase 569internal sealed partial class BoundTupleOperandPlaceholder : BoundValuePlaceholderBase 604internal sealed partial class BoundAwaitableValuePlaceholder : BoundValuePlaceholderBase 633internal sealed partial class BoundDisposableValuePlaceholder : BoundValuePlaceholderBase 668internal sealed partial class BoundObjectOrCollectionValuePlaceholder : BoundValuePlaceholderBase 706internal sealed partial class BoundImplicitIndexerValuePlaceholder : BoundValuePlaceholderBase 741internal sealed partial class BoundImplicitIndexerReceiverPlaceholder : BoundValuePlaceholderBase 6477internal sealed partial class BoundCollectionExpressionSpreadExpressionPlaceholder : BoundValuePlaceholderBase 7845internal sealed partial class BoundInterpolatedStringHandlerPlaceholder : BoundValuePlaceholderBase 7873internal sealed partial class BoundInterpolatedStringArgumentPlaceholder : BoundValuePlaceholderBase
42 references to BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (42)
Binder\Binder.ValueChecks.cs (4)
946RoslynDebug.Assert(expr is not BoundValuePlaceholderBase, $"Placeholder kind {expr.Kind} should be explicitly handled"); 2296Debug.Assert(receiver is not BoundValuePlaceholderBase && method is not null && receiver.Type?.IsReferenceType == false); 4084return GetPlaceholderScope((BoundValuePlaceholderBase)expr); 4770if (!GetPlaceholderScope((BoundValuePlaceholderBase)expr).IsConvertibleTo(escapeTo))
Binder\Binder_Expressions.cs (1)
10143BoundValuePlaceholderBase receiverPlaceholder,
Binder\Binder_Invocation.cs (1)
1336if (receiver is BoundValuePlaceholderBase || receiver?.Type is null or { IsReferenceType: true })
Binder\RefSafetyAnalysis.cs (18)
64private Dictionary<BoundValuePlaceholderBase, SafeContext>? _placeholderScopes; 154private readonly ArrayBuilder<(BoundValuePlaceholderBase, SafeContext)> _placeholders; 156public PlaceholderRegion(RefSafetyAnalysis analysis, ArrayBuilder<(BoundValuePlaceholderBase, SafeContext)> placeholders) 192private void AddPlaceholderScope(BoundValuePlaceholderBase placeholder, SafeContext valEscapeScope) 199_placeholderScopes ??= new Dictionary<BoundValuePlaceholderBase, SafeContext>(); 204private void RemovePlaceholderScope(BoundValuePlaceholderBase placeholder) 214private SafeContext GetPlaceholderScope(BoundValuePlaceholderBase placeholder) 224private bool ContainsPlaceholderScope(BoundValuePlaceholderBase placeholder) 277if (node is BoundValuePlaceholderBase placeholder) 293if (expr is BoundValuePlaceholderBase placeholder) 346var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContext)>.GetInstance(); 363var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContext)>.GetInstance(); 643var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContext)>.GetInstance(); 674ArrayBuilder<(BoundValuePlaceholderBase, SafeContext)> placeholders, 884var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContext)>.GetInstance(); 891private void GetAwaitableInstancePlaceholders(ArrayBuilder<(BoundValuePlaceholderBase, SafeContext)> placeholders, BoundAwaitableInfo awaitableInfo, SafeContext valEscapeScope) 945var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContext)>.GetInstance(); 1081var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, SafeContext)>.GetInstance();
FlowAnalysis\NullableWalker.cs (7)
233private PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>? _resultForPlaceholdersOpt; 535private void AddPlaceholderReplacement(BoundValuePlaceholderBase placeholder, BoundExpression? expression, VisitResult result) 542_resultForPlaceholdersOpt ??= PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>.GetInstance(); 546private void RemovePlaceholderReplacement(BoundValuePlaceholderBase placeholder) 554private static void AssertPlaceholderAllowedWithoutRegistration(BoundValuePlaceholderBase placeholder) 5406if (expression is BoundValuePlaceholderBase placeholder) 12077private void VisitPlaceholderWithReplacement(BoundValuePlaceholderBase node)
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (2)
64private readonly Dictionary<BoundValuePlaceholderBase, BoundExpression> _placeholderMap; 98_placeholderMap = new Dictionary<BoundValuePlaceholderBase, BoundExpression>();
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) 1120RoslynDebug.Assert(expr is not BoundValuePlaceholderBase, $"Placeholder kind {expr.Kind} must be handled explicitly");
Lowering\MethodToClassRewriter.cs (2)
54private readonly Dictionary<BoundValuePlaceholderBase, BoundExpression> _placeholderMap; 65this._placeholderMap = new Dictionary<BoundValuePlaceholderBase, BoundExpression>();