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
6593
internal sealed partial class BoundCollectionExpressionSpreadExpressionPlaceholder :
BoundValuePlaceholderBase
7965
internal sealed partial class BoundInterpolatedStringHandlerPlaceholder :
BoundValuePlaceholderBase
7993
internal sealed partial class BoundInterpolatedStringArgumentPlaceholder :
BoundValuePlaceholderBase
50 references to BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (50)
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\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\RefSafetyAnalysis.cs (21)
72
private Dictionary<
BoundValuePlaceholderBase
, SafeContextAndLocation>? _placeholderScopes;
168
private readonly ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)> _placeholders;
170
public PlaceholderRegion(RefSafetyAnalysis analysis, ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)> placeholders)
241
private void AddPlaceholderScope(
BoundValuePlaceholderBase
placeholder, SafeContextAndLocation valEscapeScope)
253
_placeholderScopes ??= new Dictionary<
BoundValuePlaceholderBase
, SafeContextAndLocation>();
258
private void RemovePlaceholderScope(
BoundValuePlaceholderBase
placeholder)
268
private SafeContext GetPlaceholderScope(
BoundValuePlaceholderBase
placeholder)
278
private bool ContainsPlaceholderScope(
BoundValuePlaceholderBase
placeholder)
342
if (node is
BoundValuePlaceholderBase
placeholder)
358
if (expr is
BoundValuePlaceholderBase
placeholder)
413
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
430
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
771
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
892
ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)> placeholders,
1121
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
1128
private void GetAwaitableInstancePlaceholders(ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)> placeholders, BoundAwaitableInfo awaitableInfo, SafeContext valEscapeScope)
1189
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
1323
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
1370
var placeholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
1393
var nodePlaceholders = ArrayBuilder<(
BoundValuePlaceholderBase
, SafeContextAndLocation)>.GetInstance();
1406
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)
5992
if (expression is
BoundValuePlaceholderBase
placeholder)
13752
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");