14 types derived from BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (14)
Generated\BoundNodes.xml.Generated.cs (14)
442
internal abstract partial class BoundEarlyValuePlaceholderBase :
BoundValuePlaceholderBase
456
internal sealed partial class BoundValuePlaceholder :
BoundValuePlaceholderBase
484
internal sealed partial class BoundCapturedReceiverPlaceholder :
BoundValuePlaceholderBase
512
internal sealed partial class BoundDeconstructValuePlaceholder :
BoundValuePlaceholderBase
553
internal sealed partial class BoundTupleOperandPlaceholder :
BoundValuePlaceholderBase
588
internal sealed partial class BoundAwaitableValuePlaceholder :
BoundValuePlaceholderBase
617
internal sealed partial class BoundDisposableValuePlaceholder :
BoundValuePlaceholderBase
652
internal sealed partial class BoundObjectOrCollectionValuePlaceholder :
BoundValuePlaceholderBase
690
internal sealed partial class BoundImplicitIndexerValuePlaceholder :
BoundValuePlaceholderBase
725
internal sealed partial class BoundImplicitIndexerReceiverPlaceholder :
BoundValuePlaceholderBase
897
internal sealed partial class BoundCollectionBuilderElementsPlaceholder :
BoundValuePlaceholderBase
6592
internal sealed partial class BoundCollectionExpressionSpreadExpressionPlaceholder :
BoundValuePlaceholderBase
7964
internal sealed partial class BoundInterpolatedStringHandlerPlaceholder :
BoundValuePlaceholderBase
7992
internal sealed partial class BoundInterpolatedStringArgumentPlaceholder :
BoundValuePlaceholderBase
50 references to BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (50)
Binder\Binder.ValueChecks.cs (4)
1212
RoslynDebug.Assert(expr is not
BoundValuePlaceholderBase
, $"Placeholder kind {expr.Kind} should be explicitly handled");
2673
Debug.Assert(receiver is not
BoundValuePlaceholderBase
&& method is not null && receiver.Type?.IsReferenceType == false);
4405
return GetPlaceholderScope((
BoundValuePlaceholderBase
)expr);
5101
if (!GetPlaceholderScope((
BoundValuePlaceholderBase
)expr).IsConvertibleTo(escapeTo))
Binder\Binder_Expressions.cs (4)
9391
BoundValuePlaceholderBase
receiver,
9418
BoundValuePlaceholderBase
receiver,
9494
BoundValuePlaceholderBase
receiverPlaceholder,
11491
BoundValuePlaceholderBase
receiverPlaceholder,
Binder\Binder_Invocation.cs (1)
1426
if (receiver is
BoundValuePlaceholderBase
|| receiver?.Type is null or { IsReferenceType: true })
Binder\RefSafetyAnalysis.cs (21)
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)
408
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
425
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
766
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
887
ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)> placeholders,
1116
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
1123
private void GetAwaitableInstancePlaceholders(ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)> placeholders, BoundAwaitableInfo awaitableInfo, SafeContext valEscapeScope)
1184
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
1318
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
1365
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
1388
var nodePlaceholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
1401
var spreadPlaceholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
FlowAnalysis\NullableWalker.cs (7)
258
private PooledDictionary<
BoundValuePlaceholderBase
, (BoundExpression? Replacement, VisitResult Result)>? _resultForPlaceholdersOpt;
588
private void AddPlaceholderReplacement(
BoundValuePlaceholderBase
placeholder, BoundExpression? expression, VisitResult result)
595
_resultForPlaceholdersOpt ??= PooledDictionary<
BoundValuePlaceholderBase
, (BoundExpression? Replacement, VisitResult Result)>.GetInstance();
599
private void RemovePlaceholderReplacement(
BoundValuePlaceholderBase
placeholder)
607
private static void AssertPlaceholderAllowedWithoutRegistration(
BoundValuePlaceholderBase
placeholder)
6006
if (expression is
BoundValuePlaceholderBase
placeholder)
13762
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)
54
private Dictionary<
BoundValuePlaceholderBase
, BoundExpression>? _placeholderReplacementMapDoNotUseDirectly;
511
private BoundExpression PlaceholderReplacement(
BoundValuePlaceholderBase
placeholder)
520
private static void AssertPlaceholderReplacement(
BoundValuePlaceholderBase
placeholder, BoundExpression value)
541
private void AddPlaceholderReplacement(
BoundValuePlaceholderBase
placeholder, BoundExpression value)
547
_placeholderReplacementMapDoNotUseDirectly = new Dictionary<
BoundValuePlaceholderBase
, BoundExpression>();
557
private void RemovePlaceholderReplacement(
BoundValuePlaceholderBase
placeholder)
1132
RoslynDebug.Assert(expr is not
BoundValuePlaceholderBase
, $"Placeholder kind {expr.Kind} must be handled explicitly");