1 write to ReceiverOpt
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
5729
this.
ReceiverOpt
= receiverOpt;
78 references to ReceiverOpt
Microsoft.CodeAnalysis.CSharp (78)
Binder\Binder.ValueChecks.cs (1)
638
var receiver = methodGroup.
ReceiverOpt
;
Binder\Binder_Conversions.cs (12)
1356
Debug.Assert(methodGroup.
ReceiverOpt
is not null);
1357
Debug.Assert(methodGroup.
ReceiverOpt
.Type is not null);
1408
methodGroup.
ReceiverOpt
,
1427
diagnostics.Add(ErrorCode.ERR_CollectionExpressionMissingAdd, syntax, methodGroup.
ReceiverOpt
.Type);
1459
Debug.Assert(methodGroup.
ReceiverOpt
is not null);
1474
TypeSymbol? receiverType = methodGroup.
ReceiverOpt
.Type;
1502
allowRefOmittedArguments: methodGroup.
ReceiverOpt
.IsExpressionOfComImportType(),
1520
ImmutableArray.Create<BoundExpression>(methodGroup.
ReceiverOpt
, new BoundValuePlaceholder(syntax, secondArgumentType) { WasCompilerGenerated = true }),
2262
if (MethodGroupConversionHasErrors(syntax, conversion, group.
ReceiverOpt
, conversion.IsExtensionMethod, isAddressOf, destination, diagnostics))
2552
return Binder.IsTypeOrValueExpression(((BoundMethodGroup)node).
ReceiverOpt
);
2562
BoundExpression? receiverOpt = group.
ReceiverOpt
;
3097
return this.MethodGroupConversionHasErrors(boundMethodGroup.Syntax, conversion, boundMethodGroup.
ReceiverOpt
, conversion.IsExtensionMethod, isAddressOf: false, delegateType, diagnostics);
Binder\Binder_Expressions.cs (14)
8177
this.BindMemberAccessReportError(syntax, nameSyntax, node.Name, node.
ReceiverOpt
, node.LookupError, diagnostics);
8267
return this.BindMemberAccessBadResult(syntax, node.Name, node.
ReceiverOpt
, node.LookupError, StaticCast<Symbol>.From(node.Methods), node.ResultKind);
9361
Debug.Assert(propertyGroup.
ReceiverOpt
is not null);
9362
return BindIndexedPropertyAccess(node, propertyGroup.
ReceiverOpt
, propertyGroup.Properties, analyzedArguments, diagnostics);
10030
var receiver = propertyGroup.
ReceiverOpt
;
10695
expression, memberName, analyzedArguments, methodGroup.
ReceiverOpt
, methodGroup.TypeArgumentsOpt, options,
10786
methodGroup.PopulateWithNonExtensionMethods(node.
ReceiverOpt
, methods, node.TypeArgumentsOpt, node.ResultKind, node.LookupError);
10851
switch (node.
ReceiverOpt
)
10884
if (node.
ReceiverOpt
is not BoundTypeExpression && node.SearchExtensions)
10886
var receiver = node.
ReceiverOpt
!;
10999
switch (node.
ReceiverOpt
)
11057
Debug.Assert(node.
ReceiverOpt
!.Type is not null); // extensions are only considered on member access
11059
BoundExpression receiver = node.
ReceiverOpt
;
11075
switch (node.
ReceiverOpt
)
Binder\Binder_Invocation.cs (7)
407
receiver = methodGroup.
ReceiverOpt
;
726
BoundExpression extensionMemberAccess = GetExtensionMemberAccess(expression, methodGroup.
ReceiverOpt
, extensionMember, diagnostics);
761
methodGroup.
ReceiverOpt
,
801
methodGroup.
ReceiverOpt
,
833
Debug.Assert(methodGroup.
ReceiverOpt
!= null && (object)methodGroup.
ReceiverOpt
.Type != null);
835
Error(diagnostics, ErrorCode.ERR_BadArgTypeDynamicExtension, syntax, methodGroup.
ReceiverOpt
.Type, methodGroup.Name);
Binder\Semantics\OverloadResolution\OverloadResolution.cs (1)
3660
bool result = !_binder.MethodIsCompatibleWithDelegateOrFunctionPointer(node.
ReceiverOpt
, conv.IsExtensionMethod, conv.Method, delegateType, Location.None, BindingDiagnosticBag.Discarded);
BoundTree\BoundMethodGroup.cs (3)
61
if (this.
ReceiverOpt
== null || this.
ReceiverOpt
.Kind == BoundKind.TypeExpression)
67
return this.
ReceiverOpt
;
BoundTree\Expression.cs (1)
159
protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.
ReceiverOpt
);
CodeGen\EmitExpression.cs (1)
800
var receiver = mg != null ? mg.
ReceiverOpt
: expression.Argument;
Compilation\CSharpSemanticModel.cs (2)
4297
symbols = CreateReducedExtensionMethodIfPossible(delegateCreation, boundNode.
ReceiverOpt
);
4614
var receiver = node.
ReceiverOpt
;
Compilation\MemberSemanticModel.cs (1)
1791
receiver = ((BoundMethodGroup)receiver).
ReceiverOpt
;
FlowAnalysis\AbstractFlowPass.cs (4)
1627
else if (node.MethodOpt is { } method && methodGroup.
ReceiverOpt
is { } receiver && !ignoreReceiver(method))
1746
BoundExpression receiver = ((BoundMethodGroup)node.Operand).
ReceiverOpt
;
2928
if (node.
ReceiverOpt
!= null)
2931
VisitRvalue(node.
ReceiverOpt
);
FlowAnalysis\NullableWalker.cs (4)
8227
if (_walker.TryGetMethodGroupReceiverNullability(group.
ReceiverOpt
, out TypeWithState receiverType))
10116
var receiverOpt = node.
ReceiverOpt
;
10153
var receiverOpt = group.
ReceiverOpt
;
12103
var receiverOpt = (expr as BoundMethodGroup)?.
ReceiverOpt
;
Generated\BoundNodes.xml.Generated.cs (10)
6106
if (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)
6134
if (properties != this.Properties || receiverOpt != this.
ReceiverOpt
|| resultKind != this.ResultKind)
10489
this.Visit(node.
ReceiverOpt
);
10494
this.Visit(node.
ReceiverOpt
);
11874
BoundExpression? receiverOpt = (BoundExpression?)this.Visit(node.
ReceiverOpt
);
11881
BoundExpression? receiverOpt = (BoundExpression?)this.Visit(node.
ReceiverOpt
);
14081
BoundExpression? receiverOpt = (BoundExpression?)this.Visit(node.
ReceiverOpt
);
14099
BoundExpression? receiverOpt = (BoundExpression?)this.Visit(node.
ReceiverOpt
);
16553
new TreeDumperNode("receiverOpt", null, new TreeDumperNode[] { Visit(node.
ReceiverOpt
, null) }),
16563
new TreeDumperNode("receiverOpt", null, new TreeDumperNode[] { Visit(node.
ReceiverOpt
, null) }),
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
693
return DelegateCreation(mg.
ReceiverOpt
, node.SymbolOpt, node.Type, !node.SymbolOpt.RequiresInstanceReceiver && !node.IsExtensionMethod);
Lowering\DiagnosticsPass_ExpressionTrees.cs (2)
938
CheckReceiverIfField(node.
ReceiverOpt
);
943
Visit(node.
ReceiverOpt
);
Lowering\DiagnosticsPass_Warnings.cs (1)
938
CheckReceiverIfField(node.
ReceiverOpt
);
Lowering\LocalRewriter\LocalRewriter_Call.cs (4)
43
Debug.Assert(methodGroup.
ReceiverOpt
== null || methodGroup.
ReceiverOpt
.Kind != BoundKind.TypeOrValueExpression);
45
if (methodGroup.
ReceiverOpt
== null)
61
loweredReceiver = VisitExpression(methodGroup.
ReceiverOpt
);
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (3)
555
(symbolOpt.IsAbstract || symbolOpt.IsVirtual) ? mg.
ReceiverOpt
?.Type : null,
567
_factory.Syntax = (mg.
ReceiverOpt
?? mg).Syntax;
568
var 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;
35
var receiver = (!method.RequiresInstanceReceiver && !node.IsExtensionMethod && !method.IsAbstract && !method.IsVirtual) ? _factory.Type(method.ContainingType) : VisitExpression(mg.
ReceiverOpt
)!;
Lowering\LocalRewriter\LocalRewriter_IsOperator.cs (1)
36
BoundExpression? receiver = methodGroup.
ReceiverOpt
;
Operations\CSharpOperationFactory.cs (3)
768
return CreateBoundDynamicMemberAccessOperation(methodGroup.
ReceiverOpt
, TypeMap.AsTypeSymbols(methodGroup.TypeArgumentsOpt), methodGroup.Name,
1162
TypeParameterSymbol? constrainedToType = GetConstrainedToType(methodSymbol, boundMethodGroup.
ReceiverOpt
);
1164
IOperation? instance = CreateReceiverOperation(boundMethodGroup.
ReceiverOpt
, methodSymbol);