1 write to ReceiverOpt
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
6040this.ReceiverOpt = receiverOpt;
60 references to ReceiverOpt
Microsoft.CodeAnalysis.CSharp (60)
Binder\Binder.ValueChecks.cs (4)
3021call.ReceiverOpt, 3267call.ReceiverOpt, 3585call.ReceiverOpt, 4012call.ReceiverOpt,
Binder\Binder_Expressions.cs (1)
5554boundCall.ReceiverOpt,
Binder\Binder_Invocation.cs (8)
881if (!call.HasAnyErrors && call.ReceiverOpt != null && (object)call.ReceiverOpt.Type != null) 886if (call.ReceiverOpt.Type.IsRestrictedType() && !TypeSymbol.Equals(call.Method.ContainingType, call.ReceiverOpt.Type, TypeCompareKind.ConsiderEverything2)) 888SymbolDistinguisher distinguisher = new SymbolDistinguisher(compilation, call.ReceiverOpt.Type, call.Method.ContainingType); 889Error(diagnostics, ErrorCode.ERR_NoImplicitConv, call.ReceiverOpt.Syntax, distinguisher.First, distinguisher.Second); 892else if (call.ReceiverOpt.Kind == BoundKind.BaseReference && this.ContainingType.IsRestrictedType()) 895Error(diagnostics, ErrorCode.ERR_NoImplicitConv, call.ReceiverOpt.Syntax, distinguisher.First, distinguisher.Second);
Binder\Binder_Query.cs (4)
328result.ReceiverOpt, result.Method, arguments.ToImmutableAndFree(), argumentNamesOpt: default, 472invocation = invocation.Update(invocation.ReceiverOpt, invocation.Method, arguments); 541invocation = invocation.Update(invocation.ReceiverOpt, invocation.Method, arguments); 630invocation.ReceiverOpt,
Binder\RefSafetyAnalysis.cs (3)
583using var _ = GetArgumentPlaceholders(node.ReceiverOpt, node.Arguments); 592node.ReceiverOpt, 782invocation.ReceiverOpt,
BoundTree\BoundNode_Source.cs (1)
199var receiver = call.ReceiverOpt;
BoundTree\BoundNodeExtensions.cs (1)
61BoundExpression? receiverOpt = call!.ReceiverOpt;
BoundTree\Constructors.cs (1)
155return this.Update(ReceiverOpt, Method, arguments, ArgumentNamesOpt, ArgumentRefKindsOpt, IsDelegateCall, Expanded, InvokedAsExtensionMethod, ArgsToParamsOpt, DefaultArguments, ResultKind, OriginalMethodsOpt, Type);
BoundTree\Expression.cs (1)
56ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ReceiverOpt, Arguments);
CodeGen\EmitExpression.cs (5)
617if (node.ReceiverOpt is BoundConditionalReceiver { Id: var id } && id == _conditionalAccess.Id) 1598var receiver = call.ReceiverOpt; 1618var receiver = call.ReceiverOpt; 1649var receiver = call.ReceiverOpt; 1803var receiver = call.ReceiverOpt;
CodeGen\Optimizer.cs (2)
1109var receiver = node.ReceiverOpt; 2136BoundExpression? receiverOpt = node.ReceiverOpt;
Compilation\CSharpSemanticModel.cs (2)
4732if (call.ReceiverOpt != null) 4734extensionThisType = call.ReceiverOpt.Type;
Compilation\MemberSemanticModel.cs (2)
1046var operation = call.IsDelegateCall ? call.ReceiverOpt : call; 1776BoundExpression receiver = call.ReceiverOpt;
FlowAnalysis\AbstractFlowPass.cs (2)
1289VisitReceiverBeforeCall(node.ReceiverOpt, node.Method); 1298VisitReceiverAfterCall(node.ReceiverOpt, node.Method);
FlowAnalysis\NullableWalker.cs (3)
5701ApplyMemberPostConditions(node.ReceiverOpt, method); 5744if (node.ReceiverOpt is BoundExpression receiver && 5954var receiverOpt = node.ReceiverOpt;
Generated\BoundNodes.xml.Generated.cs (5)
6073if (receiverOpt != this.ReceiverOpt || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(method, this.Method) || arguments != this.Arguments || argumentNamesOpt != this.ArgumentNamesOpt || argumentRefKindsOpt != this.ArgumentRefKindsOpt || isDelegateCall != this.IsDelegateCall || expanded != this.Expanded || invokedAsExtensionMethod != this.InvokedAsExtensionMethod || argsToParamsOpt != this.ArgsToParamsOpt || defaultArguments != this.DefaultArguments || resultKind != this.ResultKind || originalMethodsOpt != this.OriginalMethodsOpt || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything)) 10103this.Visit(node.ReceiverOpt); 11344BoundExpression? receiverOpt = (BoundExpression?)this.Visit(node.ReceiverOpt); 13465BoundExpression? receiverOpt = (BoundExpression?)this.Visit(node.ReceiverOpt); 15825new TreeDumperNode("receiverOpt", null, new TreeDumperNode[] { Visit(node.ReceiverOpt, null) }),
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
571return ExprFactory(WellKnownMemberNames.DelegateInvokeName, Visit(node.ReceiverOpt), Expressions(node.Arguments)); 579method.RequiresInstanceReceiver ? Visit(node.ReceiverOpt) : _bound.Null(ExpressionType),
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
442CheckReceiverIfField(node.ReceiverOpt);
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (1)
159MethodMayMutateReceiver(node.ReceiverOpt, node.Method);
Lowering\LocalRewriter\LocalRewriter_Call.cs (1)
141BoundExpression? rewrittenReceiver = VisitExpression(node.ReceiverOpt);
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (2)
909Debug.Assert(call.ReceiverOpt is { }); 910return ReadIsSideeffecting(call.ReceiverOpt);
Lowering\MethodToClassRewriter.cs (2)
232var rewrittenReceiver = (BoundExpression?)this.Visit(node.ReceiverOpt); 240if (BaseReferenceInReceiverWasRewritten(node.ReceiverOpt, rewrittenReceiver) && node.Method.IsMetadataVirtual())
Lowering\SpillSequenceSpiller.cs (3)
951if (builder == null || node.ReceiverOpt is BoundTypeExpression) 953receiver = VisitExpression(ref builder, node.ReceiverOpt); 960receiver = node.ReceiverOpt;
Operations\CSharpOperationFactory.cs (3)
451TypeParameterSymbol? constrainedToType = GetConstrainedToType(targetMethod, boundCall.ReceiverOpt); 452bool isVirtual = constrainedToType is not null || IsCallVirtual(targetMethod, boundCall.ReceiverOpt); 453IOperation? receiver = CreateReceiverOperation(boundCall.ReceiverOpt, targetMethod);