13 types derived from BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (13)
Generated\BoundNodes.xml.Generated.cs (13)
437
internal abstract partial class BoundEarlyValuePlaceholderBase :
BoundValuePlaceholderBase
451
internal sealed partial class BoundValuePlaceholder :
BoundValuePlaceholderBase
479
internal sealed partial class BoundCapturedReceiverPlaceholder :
BoundValuePlaceholderBase
509
internal sealed partial class BoundDeconstructValuePlaceholder :
BoundValuePlaceholderBase
550
internal sealed partial class BoundTupleOperandPlaceholder :
BoundValuePlaceholderBase
585
internal sealed partial class BoundAwaitableValuePlaceholder :
BoundValuePlaceholderBase
614
internal sealed partial class BoundDisposableValuePlaceholder :
BoundValuePlaceholderBase
649
internal sealed partial class BoundObjectOrCollectionValuePlaceholder :
BoundValuePlaceholderBase
687
internal sealed partial class BoundImplicitIndexerValuePlaceholder :
BoundValuePlaceholderBase
722
internal sealed partial class BoundImplicitIndexerReceiverPlaceholder :
BoundValuePlaceholderBase
6476
internal sealed partial class BoundCollectionExpressionSpreadExpressionPlaceholder :
BoundValuePlaceholderBase
7844
internal sealed partial class BoundInterpolatedStringHandlerPlaceholder :
BoundValuePlaceholderBase
7872
internal sealed partial class BoundInterpolatedStringArgumentPlaceholder :
BoundValuePlaceholderBase
44 references to BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (44)
Binder\Binder.ValueChecks.cs (4)
1193
RoslynDebug.Assert(expr is not
BoundValuePlaceholderBase
, $"Placeholder kind {expr.Kind} should be explicitly handled");
2623
Debug.Assert(receiver is not
BoundValuePlaceholderBase
&& method is not null && receiver.Type?.IsReferenceType == false);
4356
return GetPlaceholderScope((
BoundValuePlaceholderBase
)expr);
5010
if (!GetPlaceholderScope((
BoundValuePlaceholderBase
)expr).IsConvertibleTo(escapeTo))
Binder\Binder_Expressions.cs (1)
10485
BoundValuePlaceholderBase
receiverPlaceholder,
Binder\Binder_Invocation.cs (1)
1400
if (receiver is
BoundValuePlaceholderBase
|| receiver?.Type is null or { IsReferenceType: true })
Binder\RefSafetyAnalysis.cs (18)
65
private Dictionary<
BoundValuePlaceholderBase
, SafeContextAndLocation>? _placeholderScopes;
155
private readonly ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)> _placeholders;
157
public PlaceholderRegion(RefSafetyAnalysis analysis, ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)> placeholders)
228
private void AddPlaceholderScope(
BoundValuePlaceholderBase
placeholder, SafeContextAndLocation valEscapeScope)
240
_placeholderScopes ??= new Dictionary<
BoundValuePlaceholderBase
, SafeContextAndLocation>();
245
private void RemovePlaceholderScope(
BoundValuePlaceholderBase
placeholder)
255
private SafeContext GetPlaceholderScope(
BoundValuePlaceholderBase
placeholder)
265
private bool ContainsPlaceholderScope(
BoundValuePlaceholderBase
placeholder)
318
if (node is
BoundValuePlaceholderBase
placeholder)
334
if (expr is
BoundValuePlaceholderBase
placeholder)
387
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
404
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
731
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
823
ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)> placeholders,
1035
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
1042
private void GetAwaitableInstancePlaceholders(ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)> placeholders, BoundAwaitableInfo awaitableInfo, SafeContext valEscapeScope)
1103
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
1228
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
FlowAnalysis\NullableWalker.cs (7)
239
private PooledDictionary<
BoundValuePlaceholderBase
, (BoundExpression? Replacement, VisitResult Result)>? _resultForPlaceholdersOpt;
550
private void AddPlaceholderReplacement(
BoundValuePlaceholderBase
placeholder, BoundExpression? expression, VisitResult result)
557
_resultForPlaceholdersOpt ??= PooledDictionary<
BoundValuePlaceholderBase
, (BoundExpression? Replacement, VisitResult Result)>.GetInstance();
561
private void RemovePlaceholderReplacement(
BoundValuePlaceholderBase
placeholder)
569
private static void AssertPlaceholderAllowedWithoutRegistration(
BoundValuePlaceholderBase
placeholder)
5687
if (expression is
BoundValuePlaceholderBase
placeholder)
12897
private void VisitPlaceholderWithReplacement(
BoundValuePlaceholderBase
node)
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (2)
64
private readonly Dictionary<
BoundValuePlaceholderBase
, BoundExpression> _placeholderMap;
103
_placeholderMap = new Dictionary<
BoundValuePlaceholderBase
, BoundExpression>();
Lowering\BoundTreeToDifferentEnclosingContextRewriter.cs (4)
27
private readonly Dictionary<
BoundValuePlaceholderBase
,
BoundValuePlaceholderBase
> _placeholderMap = new Dictionary<
BoundValuePlaceholderBase
,
BoundValuePlaceholderBase
>();
Lowering\LocalRewriter\LocalRewriter.cs (7)
53
private Dictionary<
BoundValuePlaceholderBase
, BoundExpression>? _placeholderReplacementMapDoNotUseDirectly;
501
private BoundExpression PlaceholderReplacement(
BoundValuePlaceholderBase
placeholder)
510
private static void AssertPlaceholderReplacement(
BoundValuePlaceholderBase
placeholder, BoundExpression value)
531
private void AddPlaceholderReplacement(
BoundValuePlaceholderBase
placeholder, BoundExpression value)
537
_placeholderReplacementMapDoNotUseDirectly = new Dictionary<
BoundValuePlaceholderBase
, BoundExpression>();
547
private void RemovePlaceholderReplacement(
BoundValuePlaceholderBase
placeholder)
1125
RoslynDebug.Assert(expr is not
BoundValuePlaceholderBase
, $"Placeholder kind {expr.Kind} must be handled explicitly");