13 types derived from BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (13)
Generated\BoundNodes.xml.Generated.cs (13)
455internal abstract partial class BoundEarlyValuePlaceholderBase : BoundValuePlaceholderBase 469internal sealed partial class BoundValuePlaceholder : BoundValuePlaceholderBase 497internal sealed partial class BoundCapturedReceiverPlaceholder : BoundValuePlaceholderBase 527internal sealed partial class BoundDeconstructValuePlaceholder : BoundValuePlaceholderBase 568internal sealed partial class BoundTupleOperandPlaceholder : BoundValuePlaceholderBase 603internal sealed partial class BoundAwaitableValuePlaceholder : BoundValuePlaceholderBase 632internal sealed partial class BoundDisposableValuePlaceholder : BoundValuePlaceholderBase 667internal sealed partial class BoundObjectOrCollectionValuePlaceholder : BoundValuePlaceholderBase 705internal sealed partial class BoundImplicitIndexerValuePlaceholder : BoundValuePlaceholderBase 740internal sealed partial class BoundImplicitIndexerReceiverPlaceholder : BoundValuePlaceholderBase 6476internal sealed partial class BoundCollectionExpressionSpreadExpressionPlaceholder : BoundValuePlaceholderBase 7844internal sealed partial class BoundInterpolatedStringHandlerPlaceholder : BoundValuePlaceholderBase 7872internal sealed partial class BoundInterpolatedStringArgumentPlaceholder : BoundValuePlaceholderBase
42 references to BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (42)
Binder\Binder.ValueChecks.cs (4)
969RoslynDebug.Assert(expr is not BoundValuePlaceholderBase, $"Placeholder kind {expr.Kind} should be explicitly handled"); 2319Debug.Assert(receiver is not BoundValuePlaceholderBase && method is not null && receiver.Type?.IsReferenceType == false); 4107return GetPlaceholderScope((BoundValuePlaceholderBase)expr); 4794if (GetPlaceholderScope((BoundValuePlaceholderBase)expr) > escapeTo)
Binder\Binder_Expressions.cs (1)
10140BoundValuePlaceholderBase receiverPlaceholder,
Binder\Binder_Invocation.cs (1)
1336if (receiver is BoundValuePlaceholderBase || receiver?.Type is null or { IsReferenceType: true })
Binder\RefSafetyAnalysis.cs (18)
64private Dictionary<BoundValuePlaceholderBase, uint>? _placeholderScopes; 154private readonly ArrayBuilder<(BoundValuePlaceholderBase, uint)> _placeholders; 156public PlaceholderRegion(RefSafetyAnalysis analysis, ArrayBuilder<(BoundValuePlaceholderBase, uint)> placeholders) 192private void AddPlaceholderScope(BoundValuePlaceholderBase placeholder, uint valEscapeScope) 199_placeholderScopes ??= new Dictionary<BoundValuePlaceholderBase, uint>(); 204private void RemovePlaceholderScope(BoundValuePlaceholderBase placeholder) 214private uint GetPlaceholderScope(BoundValuePlaceholderBase placeholder) 224private bool ContainsPlaceholderScope(BoundValuePlaceholderBase placeholder) 277if (node is BoundValuePlaceholderBase placeholder) 293if (expr is BoundValuePlaceholderBase placeholder) 346var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, uint)>.GetInstance(); 363var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, uint)>.GetInstance(); 643var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, uint)>.GetInstance(); 674ArrayBuilder<(BoundValuePlaceholderBase, uint)> placeholders, 884var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, uint)>.GetInstance(); 891private void GetAwaitableInstancePlaceholders(ArrayBuilder<(BoundValuePlaceholderBase, uint)> placeholders, BoundAwaitableInfo awaitableInfo, uint valEscapeScope) 945var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, uint)>.GetInstance(); 1081var placeholders = ArrayBuilder<(BoundValuePlaceholderBase, uint)>.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) 12080private void VisitPlaceholderWithReplacement(BoundValuePlaceholderBase node)
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (2)
63private readonly Dictionary<BoundValuePlaceholderBase, BoundExpression> _placeholderMap; 96_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>();