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
6486
internal sealed partial class BoundCollectionExpressionSpreadExpressionPlaceholder :
BoundValuePlaceholderBase
7854
internal sealed partial class BoundInterpolatedStringHandlerPlaceholder :
BoundValuePlaceholderBase
7882
internal sealed partial class BoundInterpolatedStringArgumentPlaceholder :
BoundValuePlaceholderBase
44 references to BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (44)
Binder\Binder.ValueChecks.cs (4)
1196
RoslynDebug.Assert(expr is not
BoundValuePlaceholderBase
, $"Placeholder kind {expr.Kind} should be explicitly handled");
2626
Debug.Assert(receiver is not
BoundValuePlaceholderBase
&& method is not null && receiver.Type?.IsReferenceType == false);
4387
return GetPlaceholderScope((
BoundValuePlaceholderBase
)expr);
5050
if (!GetPlaceholderScope((
BoundValuePlaceholderBase
)expr).IsConvertibleTo(escapeTo))
Binder\Binder_Expressions.cs (1)
10541
BoundValuePlaceholderBase
receiverPlaceholder,
Binder\Binder_Invocation.cs (1)
1402
if (receiver is
BoundValuePlaceholderBase
|| receiver?.Type is null or { IsReferenceType: true })
Binder\RefSafetyAnalysis.cs (18)
67
private Dictionary<
BoundValuePlaceholderBase
, SafeContextAndLocation>? _placeholderScopes;
163
private readonly ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)> _placeholders;
165
public PlaceholderRegion(RefSafetyAnalysis analysis, ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)> placeholders)
236
private void AddPlaceholderScope(
BoundValuePlaceholderBase
placeholder, SafeContextAndLocation valEscapeScope)
248
_placeholderScopes ??= new Dictionary<
BoundValuePlaceholderBase
, SafeContextAndLocation>();
253
private void RemovePlaceholderScope(
BoundValuePlaceholderBase
placeholder)
263
private SafeContext GetPlaceholderScope(
BoundValuePlaceholderBase
placeholder)
273
private bool ContainsPlaceholderScope(
BoundValuePlaceholderBase
placeholder)
337
if (node is
BoundValuePlaceholderBase
placeholder)
353
if (expr is
BoundValuePlaceholderBase
placeholder)
407
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
424
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
751
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
872
ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)> placeholders,
1084
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
1091
private void GetAwaitableInstancePlaceholders(ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)> placeholders, BoundAwaitableInfo awaitableInfo, SafeContext valEscapeScope)
1152
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
1288
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
FlowAnalysis\NullableWalker.cs (7)
258
private PooledDictionary<
BoundValuePlaceholderBase
, (BoundExpression? Replacement, VisitResult Result)>? _resultForPlaceholdersOpt;
569
private void AddPlaceholderReplacement(
BoundValuePlaceholderBase
placeholder, BoundExpression? expression, VisitResult result)
576
_resultForPlaceholdersOpt ??= PooledDictionary<
BoundValuePlaceholderBase
, (BoundExpression? Replacement, VisitResult Result)>.GetInstance();
580
private void RemovePlaceholderReplacement(
BoundValuePlaceholderBase
placeholder)
588
private static void AssertPlaceholderAllowedWithoutRegistration(
BoundValuePlaceholderBase
placeholder)
5738
if (expression is
BoundValuePlaceholderBase
placeholder)
13037
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");