1 write to ReceiverOpt
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
7265this.ReceiverOpt = receiverOpt;
76 references to ReceiverOpt
Microsoft.CodeAnalysis.CSharp (76)
Binder\Binder.ValueChecks.cs (13)
803return CheckValueKind(node, fieldAccess.ReceiverOpt, valueKind, checkingReceiver: true, diagnostics); 1331!CanModifyReadonlyField(fieldAccess.ReceiverOpt is BoundThisReference, fieldSymbol)) 1372return CheckIsValidReceiverForVariable(node, fieldAccess.ReceiverOpt, BindValueKind.Assignable, diagnostics); 1400return CheckIsValidReceiverForVariable(node, fieldAccess.ReceiverOpt, valueKind, diagnostics); 1487return GetValEscape(fieldAccess.ReceiverOpt, scopeOfTheContainingExpression); 1492return GetRefEscape(fieldAccess.ReceiverOpt, scopeOfTheContainingExpression); 1504Debug.Assert(fieldAccess.ReceiverOpt is { }); 1511return CheckValEscape(node, fieldAccess.ReceiverOpt, escapeFrom, escapeTo, checkingReceiver: true, diagnostics); 1516return CheckRefEscape(node, fieldAccess.ReceiverOpt, escapeFrom, escapeTo, checkingReceiver: true, diagnostics: diagnostics); 4130return GetValEscape(fieldAccess.ReceiverOpt, scopeOfTheContainingExpression); 4840return CheckValEscape(node, fieldAccess.ReceiverOpt, escapeFrom, escapeTo, true, diagnostics); 5878var receiver = fieldAccess.ReceiverOpt; 5907fieldAccess.ReceiverOpt.Kind == BoundKind.ThisReference;
Binder\Binder_Operators.cs (2)
2580receiver = fieldAccess.ReceiverOpt; 2691expr = fieldAccess.ReceiverOpt;
BoundTree\BoundNode_Source.cs (1)
269var receiver = fieldAccess.ReceiverOpt;
CodeGen\EmitAddress.cs (2)
373var receiver = fieldAccess.ReceiverOpt; 555fieldAccess.ReceiverOpt,
CodeGen\EmitExpression.cs (7)
1132if (!field.IsVolatile && !field.IsStatic && fieldAccess.ReceiverOpt.Type.IsVerifierValue() && field.RefKind == RefKind.None) 1134EmitExpression(fieldAccess.ReceiverOpt, used: false); 1169var receiver = fieldAccess.ReceiverOpt; 1247if (!field.IsStatic && EmitFieldLoadReceiverAddress(fieldAccess.ReceiverOpt)) 1311return FieldLoadPrefersRef(fieldAccess.ReceiverOpt); 2140current = field.ReceiverOpt; 2790var temp = EmitReceiverRef(left.ReceiverOpt, AddressKind.Writeable);
CodeGen\EmitStatement.cs (2)
1158Debug.Assert(!left.ReceiverOpt.Type.IsTypeParameter()); 1172var receiverTemp = EmitReceiverRef(left.ReceiverOpt, AddressKind.Writeable);
CodeGen\Optimizer.cs (1)
1342var receiver = node.ReceiverOpt;
FlowAnalysis\AbstractFlowPass.cs (2)
588VisitFieldAccessInternal(node1.ReceiverOpt, node1.FieldSymbol); 2226VisitFieldAccessInternal(node.ReceiverOpt, node.FieldSymbol);
FlowAnalysis\DataFlowsOutWalker.cs (2)
130if (MayRequireTracking(fieldAccess.ReceiverOpt, fieldAccess.FieldSymbol)) 132node = fieldAccess.ReceiverOpt;
FlowAnalysis\DefiniteAssignment.cs (11)
796if (MayRequireTracking(fieldAccess.ReceiverOpt, fieldAccess.FieldSymbol)) 798n = fieldAccess.ReceiverOpt; 974if (MayRequireTracking(fieldAccess.ReceiverOpt, fieldAccess.FieldSymbol)) 976n = fieldAccess.ReceiverOpt; 1085receiver = fieldAccess.ReceiverOpt; 1406if (!MayRequireTracking(fieldAccess.ReceiverOpt, fieldAccess.FieldSymbol) || IsAssigned(fieldAccess.ReceiverOpt, out unassignedSlot)) 1493expression = fieldAccess.ReceiverOpt; 2605if (!symbol.IsFixedSizeBuffer && MayRequireTracking(field.ReceiverOpt, symbol)) 2702Symbol receiver = UseNonFieldSymbolUnsafely(node.ReceiverOpt); 2712else if (MayRequireTracking(node.ReceiverOpt, node.FieldSymbol))
FlowAnalysis\NullableWalker.cs (2)
1959receiver = fieldAccess.ReceiverOpt; 10657var updatedSymbol = VisitMemberAccess(node, node.ReceiverOpt, node.FieldSymbol);
FlowAnalysis\ReadWriteWalker.cs (1)
174var receiver = expr.ReceiverOpt;
Generated\BoundNodes.xml.Generated.cs (5)
7286if (receiverOpt != this.ReceiverOpt || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(fieldSymbol, this.FieldSymbol) || constantValueOpt != this.ConstantValueOpt || resultKind != this.ResultKind || isByValue != this.IsByValue || isDeclaration != this.IsDeclaration || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything)) 10598this.Visit(node.ReceiverOpt); 11931BoundExpression? receiverOpt = (BoundExpression?)this.Visit(node.ReceiverOpt); 14416BoundExpression? receiverOpt = (BoundExpression?)this.Visit(node.ReceiverOpt); 16704new TreeDumperNode("receiverOpt", null, new TreeDumperNode[] { Visit(node.ReceiverOpt, null) }),
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
810var receiver = node.FieldSymbol.IsStatic ? _bound.Null(ExpressionType) : Visit(node.ReceiverOpt);
Lowering\DiagnosticsPass_Warnings.cs (4)
135BoundExpression receiver = fieldAccess.ReceiverOpt; 211(field1.FieldSymbol.IsStatic || IsSameLocalOrField(field1.ReceiverOpt, field2.ReceiverOpt)); 932CheckReceiverIfField(node.ReceiverOpt);
Lowering\LocalRewriter\LocalRewriter.cs (4)
1070Debug.Assert(fieldAccess.ReceiverOpt is { }); 1071Debug.Assert(fieldAccess.ReceiverOpt.Type is { }); 1072return !fieldAccess.ReceiverOpt.Type.IsValueType || CanBePassedByReference(fieldAccess.ReceiverOpt);
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (1)
640BoundExpression? receiverOpt = fieldAccess.ReceiverOpt;
Lowering\LocalRewriter\LocalRewriter_Field.cs (1)
13BoundExpression? rewrittenReceiver = VisitExpression(node.ReceiverOpt);
Lowering\LocalRewriter\LocalRewriter_PointerElementAccess.cs (1)
24var loweredFieldReceiver = VisitExpression(fieldAccess.ReceiverOpt);
Lowering\MethodToClassRewriter.cs (1)
554var receiverOpt = (BoundExpression?)this.Visit(node.ReceiverOpt);
Lowering\SpillSequenceSpiller.cs (7)
419var receiver = Spill(builder, field.ReceiverOpt, fieldSymbol.ContainingType.IsValueType ? refKind : RefKind.None); 922Debug.Assert(field.ReceiverOpt is object); 927receiver = Spill(leftBuilder, VisitExpression(ref leftBuilder, field.ReceiverOpt)); 935else if (field.ReceiverOpt is BoundArrayAccess arrayAccess) 948else if (field.ReceiverOpt is BoundFieldAccess receiverField) 954receiver = Spill(leftBuilder, VisitExpression(ref leftBuilder, field.ReceiverOpt), RefKind.Ref); 1215var receiver = VisitExpression(ref builder, node.ReceiverOpt);
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (3)
242case BoundFieldAccess { FieldSymbol: { IsStatic: false, ContainingType: { IsValueType: true } }, ReceiverOpt: BoundExpression receiver }: 295if (node.ReceiverOpt != null && node.ReceiverOpt.Kind == BoundKind.ThisReference)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (1)
599var receiver = HoistExpression(field.ReceiverOpt, awaitSyntaxOpt, syntaxOffset,
Operations\CSharpOperationFactory.cs (1)
591IOperation? instance = CreateReceiverOperation(boundFieldAccess.ReceiverOpt, boundFieldAccess.FieldSymbol);