1 write to ReceiverOpt
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
7535
this.
ReceiverOpt
= receiverOpt;
30 references to ReceiverOpt
Microsoft.CodeAnalysis.CSharp (30)
Binder\Binder.ValueChecks.cs (3)
160
Receiver = substitutedReceiver ?? indexerAccess.
ReceiverOpt
,
688
BoundExpression? extensionReceiver = indexer.IsExtensionBlockMember() ? indexerAccess.
ReceiverOpt
: null;
699
indexerAccess.
ReceiverOpt
,
Binder\Binder_Statements.cs (2)
1621
methodInvocationInfo = MethodInvocationInfo.FromCallParts(indexerSet, indexer.
ReceiverOpt
, args: [.. indexer.Arguments, op2], receiverIsSubjectToCloning: indexer.InitialBindingReceiverIsSubjectToCloning);
1689
receiver = indexerAccess.
ReceiverOpt
;
Binder\RefSafetyAnalysis.cs (2)
1071
Visit(node.
ReceiverOpt
);
1072
VisitArgumentsAndGetArgumentPlaceholders(node.
ReceiverOpt
, node.Arguments, isExtensionBlockMember: node.Indexer.IsExtensionBlockMember());
BoundTree\BoundExpression.cs (1)
366
ReceiverOpt
,
BoundTree\Expression.cs (1)
61
ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(
ReceiverOpt
, Arguments);
FlowAnalysis\AbstractFlowPass.cs (2)
1484
VisitReceiverBeforeCall(node.
ReceiverOpt
, method);
1488
VisitReceiverAfterCall(node.
ReceiverOpt
, method);
FlowAnalysis\NullableWalker.cs (3)
12226
var receiverOpt = node.
ReceiverOpt
;
12233
Debug.Assert(node.
ReceiverOpt
is not null);
12235
node, node.
ReceiverOpt
, indexer, indexer.Parameters, node.Arguments,
Generated\BoundNodes.xml.Generated.cs (5)
7566
if (receiverOpt != this.
ReceiverOpt
|| initialBindingReceiverIsSubjectToCloning != this.InitialBindingReceiverIsSubjectToCloning || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(indexer, this.Indexer) || arguments != this.Arguments || argumentNamesOpt != this.ArgumentNamesOpt || argumentRefKindsOpt != this.ArgumentRefKindsOpt || expanded != this.Expanded || accessorKind != this.AccessorKind || argsToParamsOpt != this.ArgsToParamsOpt || defaultArguments != this.DefaultArguments || originalIndexersOpt != this.OriginalIndexersOpt || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything))
10902
this.Visit(node.
ReceiverOpt
);
12404
BoundExpression? receiverOpt = (BoundExpression?)this.Visit(node.
ReceiverOpt
);
14980
BoundExpression? receiverOpt = (BoundExpression?)this.Visit(node.
ReceiverOpt
);
17290
new TreeDumperNode("receiverOpt", null, new TreeDumperNode[] { Visit(node.
ReceiverOpt
, null) }),
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
579
CheckReceiverIfField(node.
ReceiverOpt
);
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (1)
316
MethodMayMutateReceiver(node.
ReceiverOpt
, node.Indexer.GetMethod);
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (1)
217
BoundExpression? rewrittenReceiver = indexerAccess.
ReceiverOpt
;
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (2)
369
var receiverOpt = indexerAccess.
ReceiverOpt
;
568
return TransformIndexerAccessContinued(indexerAccess, indexerAccess.
ReceiverOpt
!, indexerAccess.Arguments, stores, temps);
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (1)
85
BoundExpression? rewrittenReceiver = VisitExpression(node.
ReceiverOpt
);
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (1)
529
rewrittenAccess = TransformIndexerAccessContinued(indexerAccess, indexerAccess.
ReceiverOpt
!, indexerAccess.Arguments, result, temps);
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (1)
1035
return MakePropertyGetAccess(transformedExpression.Syntax, indexerAccess.
ReceiverOpt
, indexerAccess.Indexer, indexerAccess.Arguments, indexerAccess.ArgumentRefKindsOpt);
Operations\CSharpOperationFactory.cs (3)
613
return CreateReceiverOperation(boundIndexerAccess.
ReceiverOpt
, boundIndexerAccess.ExpressionSymbol);
645
IOperation? instance = CreateReceiverOperation(boundIndexerAccess.
ReceiverOpt
, boundIndexerAccess.ExpressionSymbol);
646
TypeParameterSymbol? constrainedToType = GetConstrainedToType(property, boundIndexerAccess.
ReceiverOpt
);