1 write to ReceiverOpt
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
5816this.ReceiverOpt = receiverOpt;
78 references to ReceiverOpt
Microsoft.CodeAnalysis.CSharp (78)
Binder\Binder.ValueChecks.cs (1)
880var receiver = methodGroup.ReceiverOpt;
Binder\Binder_Conversions.cs (12)
1929Debug.Assert(methodGroup.ReceiverOpt is not null); 1930Debug.Assert(methodGroup.ReceiverOpt.Type is not null); 1981methodGroup.ReceiverOpt, 2000diagnostics.Add(ErrorCode.ERR_CollectionExpressionMissingAdd, syntax, methodGroup.ReceiverOpt.Type); 2036Debug.Assert(methodGroup.ReceiverOpt is not null); 2065TypeSymbol? receiverType = methodGroup.ReceiverOpt.Type; 2093allowRefOmittedArguments: methodGroup.ReceiverOpt.IsExpressionOfComImportType(), 2111ImmutableArray.Create<BoundExpression>(methodGroup.ReceiverOpt, new BoundValuePlaceholder(syntax, secondArgumentType) { WasCompilerGenerated = true }), 2865if (MethodGroupConversionHasErrors(syntax, conversion, group.ReceiverOpt, conversion.IsExtensionMethod, isAddressOf, destination, diagnostics)) 3177return Binder.IsTypeOrValueExpression(((BoundMethodGroup)node).ReceiverOpt); 3187BoundExpression? receiverOpt = group.ReceiverOpt; 3724return this.MethodGroupConversionHasErrors(boundMethodGroup.Syntax, conversion, boundMethodGroup.ReceiverOpt, conversion.IsExtensionMethod, isAddressOf: false, delegateType, diagnostics);
Binder\Binder_Expressions.cs (13)
8417this.BindMemberAccessReportError(syntax, nameSyntax, node.Name, node.ReceiverOpt, node.LookupError, diagnostics); 8511return this.BindMemberAccessBadResult(syntax, node.Name, node.ReceiverOpt, node.LookupError, StaticCast<Symbol>.From(node.Methods), node.ResultKind); 9635Debug.Assert(propertyGroup.ReceiverOpt is not null); 9636return BindIndexedPropertyAccess(node, propertyGroup.ReceiverOpt, propertyGroup.Properties, analyzedArguments, diagnostics); 10305var receiver = propertyGroup.ReceiverOpt; 10973expression, memberName, analyzedArguments, methodGroup.ReceiverOpt, methodGroup.TypeArgumentsOpt, options, 11064methodGroup.PopulateWithNonExtensionMethods(node.ReceiverOpt, methods, node.TypeArgumentsOpt, node.ResultKind, node.LookupError); 11129switch (node.ReceiverOpt) 11164Debug.Assert(node.ReceiverOpt!.Type is not null); // extensions are only considered on member access 11166BoundExpression receiver = node.ReceiverOpt; 11322switch (node.ReceiverOpt) 11380Debug.Assert(node.ReceiverOpt!.Type is not null); // extensions are only considered on member access 11382BoundExpression receiver = node.ReceiverOpt;
Binder\Binder_Invocation.cs (8)
414receiver = methodGroup.ReceiverOpt; 733BoundExpression extensionMemberAccess = GetExtensionMemberAccess(expression, methodGroup.ReceiverOpt, extensionMember, diagnostics); 752BoundExpression receiverOpt = methodGroup.ReceiverOpt; 824methodGroup.ReceiverOpt, 856Debug.Assert(methodGroup.ReceiverOpt != null && (object)methodGroup.ReceiverOpt.Type != null); 858Error(diagnostics, ErrorCode.ERR_BadArgTypeDynamicExtension, syntax, methodGroup.ReceiverOpt.Type, methodGroup.Name); 2406receiverOpt: ReplaceTypeOrValueReceiver(methodGroup.ReceiverOpt, useType: true, boundArgument.HasAnyErrors ? BindingDiagnosticBag.Discarded : diagnostics), //only change
Binder\Semantics\OverloadResolution\OverloadResolution.cs (1)
3677bool result = !_binder.MethodIsCompatibleWithDelegateOrFunctionPointer(node.ReceiverOpt, conv.IsExtensionMethod, conv.Method, delegateType, Location.None, BindingDiagnosticBag.Discarded);
BoundTree\BoundMethodGroup.cs (3)
61if (this.ReceiverOpt == null || this.ReceiverOpt.Kind == BoundKind.TypeExpression) 67return this.ReceiverOpt;
BoundTree\Expression.cs (1)
159protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.ReceiverOpt);
CodeGen\EmitExpression.cs (1)
811var receiver = mg != null ? mg.ReceiverOpt : expression.Argument;
Compilation\CSharpSemanticModel.cs (2)
4319symbols = CreateReducedExtensionMethodIfPossible(delegateCreation, boundNode.ReceiverOpt); 4636var receiver = node.ReceiverOpt;
Compilation\MemberSemanticModel.cs (1)
1830receiver = ((BoundMethodGroup)receiver).ReceiverOpt;
FlowAnalysis\AbstractFlowPass.cs (4)
1677else if (node.MethodOpt is { } method && methodGroup.ReceiverOpt is { } receiver && !ignoreReceiver(method)) 1794BoundExpression receiver = ((BoundMethodGroup)node.Operand).ReceiverOpt; 2999if (node.ReceiverOpt != null) 3002VisitRvalue(node.ReceiverOpt);
FlowAnalysis\NullableWalker.cs (4)
8798if (_walker.TryGetMethodGroupReceiverNullability(group.ReceiverOpt, out TypeWithState receiverType)) 10981var receiverOpt = node.ReceiverOpt; 11018var receiverOpt = group.ReceiverOpt; 13228var receiverOpt = (expr as BoundMethodGroup)?.ReceiverOpt;
Generated\BoundNodes.xml.Generated.cs (10)
6193if (typeArgumentsOpt != this.TypeArgumentsOpt || name != this.Name || methods != this.Methods || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(lookupSymbolOpt, this.LookupSymbolOpt) || lookupError != this.LookupError || flags != this.Flags || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(functionType, this.FunctionType) || receiverOpt != this.ReceiverOpt || resultKind != this.ResultKind) 6221if (properties != this.Properties || receiverOpt != this.ReceiverOpt || resultKind != this.ResultKind) 10742this.Visit(node.ReceiverOpt); 10747this.Visit(node.ReceiverOpt); 12159BoundExpression? receiverOpt = (BoundExpression?)this.Visit(node.ReceiverOpt); 12166BoundExpression? receiverOpt = (BoundExpression?)this.Visit(node.ReceiverOpt); 14390BoundExpression? receiverOpt = (BoundExpression?)this.Visit(node.ReceiverOpt); 14408BoundExpression? receiverOpt = (BoundExpression?)this.Visit(node.ReceiverOpt); 16899new TreeDumperNode("receiverOpt", null, new TreeDumperNode[] { Visit(node.ReceiverOpt, null) }), 16909new TreeDumperNode("receiverOpt", null, new TreeDumperNode[] { Visit(node.ReceiverOpt, null) }),
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
701return DelegateCreation(mg.ReceiverOpt, node.SymbolOpt, node.Type, !node.SymbolOpt.RequiresInstanceReceiver && !node.IsExtensionMethod);
Lowering\DiagnosticsPass_ExpressionTrees.cs (2)
963CheckReceiverIfField(node.ReceiverOpt); 968Visit(node.ReceiverOpt);
Lowering\DiagnosticsPass_Warnings.cs (1)
937CheckReceiverIfField(node.ReceiverOpt);
Lowering\LocalRewriter\LocalRewriter_Call.cs (4)
43Debug.Assert(methodGroup.ReceiverOpt == null || methodGroup.ReceiverOpt.Kind != BoundKind.TypeOrValueExpression); 45if (methodGroup.ReceiverOpt == null) 62loweredReceiver = VisitExpression(methodGroup.ReceiverOpt);
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (3)
563(symbolOpt.IsAbstract || symbolOpt.IsVirtual) ? mg.ReceiverOpt?.Type : null, 575_factory.Syntax = (mg.ReceiverOpt ?? mg).Syntax; 576var receiver = (!method.RequiresInstanceReceiver && !oldNodeOpt.IsExtensionMethod && !method.IsAbstract && !method.IsVirtual) ? _factory.Type(method.ContainingType) : mg.ReceiverOpt;
Lowering\LocalRewriter\LocalRewriter_DelegateCreationExpression.cs (2)
34_factory.Syntax = (mg.ReceiverOpt ?? mg).Syntax; 35var receiver = (!method.RequiresInstanceReceiver && !node.IsExtensionMethod && !method.IsAbstract && !method.IsVirtual) ? _factory.Type(method.ContainingType) : VisitExpression(mg.ReceiverOpt)!;
Lowering\LocalRewriter\LocalRewriter_IsOperator.cs (1)
36BoundExpression? receiver = methodGroup.ReceiverOpt;
Operations\CSharpOperationFactory.cs (3)
783return CreateBoundDynamicMemberAccessOperation(methodGroup.ReceiverOpt, TypeMap.AsTypeSymbols(methodGroup.TypeArgumentsOpt), methodGroup.Name, 1202TypeParameterSymbol? constrainedToType = GetConstrainedToType(methodSymbol, boundMethodGroup.ReceiverOpt); 1204IOperation? instance = CreateReceiverOperation(boundMethodGroup.ReceiverOpt, methodSymbol);