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
47 references to BoundValuePlaceholderBase
Microsoft.CodeAnalysis.CSharp (47)
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 (18)
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)
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;
590
private void AddPlaceholderReplacement(
BoundValuePlaceholderBase
placeholder, BoundExpression? expression, VisitResult result)
597
_resultForPlaceholdersOpt ??= PooledDictionary<
BoundValuePlaceholderBase
, (BoundExpression? Replacement, VisitResult Result)>.GetInstance();
601
private void RemovePlaceholderReplacement(
BoundValuePlaceholderBase
placeholder)
609
private static void AssertPlaceholderAllowedWithoutRegistration(
BoundValuePlaceholderBase
placeholder)
6064
if (expression is
BoundValuePlaceholderBase
placeholder)
13840
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");