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