3 instantiations of BoundMethodGroup
Microsoft.CodeAnalysis.CSharp (3)
Binder\Binder_Expressions.cs (2)
5415var boundMethodGroup = new BoundMethodGroup( 10117var boundMethodGroup = new BoundMethodGroup(
Generated\BoundNodes.xml.Generated.cs (1)
6105var result = new BoundMethodGroup(this.Syntax, typeArgumentsOpt, name, methods, lookupSymbolOpt, lookupError, flags, functionType, receiverOpt, resultKind, this.HasErrors);
126 references to BoundMethodGroup
Microsoft.CodeAnalysis.CSharp (126)
Binder\Binder.ValueChecks.cs (4)
614var methodGroup = (BoundMethodGroup)expr; 762var methodGroup = (BoundMethodGroup)expr;
Binder\Binder_Deconstruct.cs (1)
671rightSyntax, rightSyntax, methodName, (BoundMethodGroup)memberAccess, analyzedArguments, diagnostics, queryClause: null,
Binder\Binder_Expressions.cs (18)
2776!MethodGroupConversionDoesNotExistOrHasErrors((BoundMethodGroup)operand, (NamedTypeSymbol)targetType, syntax.Location, diagnostics, out _)) 5379BoundMethodGroup methodGroup = (BoundMethodGroup)argument; 5415var boundMethodGroup = new BoundMethodGroup( 7892var methodGroup = (BoundMethodGroup)expr; 7974var boundMethodGroup = new BoundMethodGroup( 8017private void BindMemberAccessReportError(BoundMethodGroup node, BindingDiagnosticBag diagnostics) 8108private BoundExpression BindMemberAccessBadResult(BoundMethodGroup node) 10117var boundMethodGroup = new BoundMethodGroup( 10237BoundMethodGroup node, 10256BoundMethodGroup node, 10286BoundMethodGroup methodGroup, 10304BoundMethodGroup methodGroup, 10376BoundMethodGroup node, 10460internal NamedTypeSymbol? GetMethodGroupDelegateType(BoundMethodGroup node) 10479private MethodSymbol? GetUniqueSignatureFromMethodGroup_CSharp10(BoundMethodGroup node, out bool useParams) 10615private MethodSymbol? GetUniqueSignatureFromMethodGroup(BoundMethodGroup node, out bool useParams)
Binder\Binder_Invocation.cs (11)
354node, expression, methodName, (BoundMethodGroup)boundExpression, analyzedArguments, 404BoundMethodGroup methodGroup = (BoundMethodGroup)expression; 693BoundMethodGroup methodGroup, 846private void ReportDynamicInvocationWarnings(SyntaxNode syntax, BoundMethodGroup methodGroup, BindingDiagnosticBag diagnostics, ImmutableArray<MemberResolutionResult<MethodSymbol>> finalApplicableCandidates) 883BoundMethodGroup boundMethodGroup, 938BoundMethodGroup boundMethodGroup, 2179var originalMethods = (expr.Kind == BoundKind.MethodGroup) ? ((BoundMethodGroup)expr).Methods : ImmutableArray<MethodSymbol>.Empty; 2229var methodGroup = (BoundMethodGroup)boundArgument; 2250private void EnsureNameofExpressionSymbols(BoundMethodGroup methodGroup, BindingDiagnosticBag diagnostics)
Binder\Binder_Operators.cs (1)
2527case BoundMethodGroup methodGroup:
Binder\Binder_Query.cs (2)
958var methodGroup = (BoundMethodGroup)ultimateReceiver;
Binder\Binder_Statements.cs (3)
2354reportMethodGroupErrors((BoundMethodGroup)operand, fromAddressOf: false); 2439void reportMethodGroupErrors(BoundMethodGroup methodGroup, bool fromAddressOf) 4133(BoundMethodGroup)boundAccess,
Binder\Semantics\Conversions\Conversions.cs (4)
44public override Conversion GetMethodGroupDelegateConversion(BoundMethodGroup source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 113public override Conversion GetMethodGroupFunctionPointerConversion(BoundMethodGroup source, FunctionPointerTypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 249private static MethodGroupResolution ResolveDelegateOrFunctionPointerMethodGroup(Binder binder, BoundMethodGroup source, MethodSymbol delegateInvokeMethodOpt, bool isFunctionPointer, in CallingConventionInfo callingConventionInfo, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 295public static bool ReportDelegateOrFunctionPointerMethodGroupDiagnostics(Binder binder, BoundMethodGroup expr, TypeSymbol targetType, BindingDiagnosticBag diagnostics)
Binder\Semantics\Conversions\ConversionsBase.cs (3)
67public abstract Conversion GetMethodGroupDelegateConversion(BoundMethodGroup source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo); 69public abstract Conversion GetMethodGroupFunctionPointerConversion(BoundMethodGroup source, FunctionPointerTypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo); 1098Conversion methodGroupConversion = GetMethodGroupDelegateConversion((BoundMethodGroup)sourceExpression, destination, ref useSiteInfo);
Binder\Semantics\Conversions\TypeConversions.cs (2)
36public override Conversion GetMethodGroupDelegateConversion(BoundMethodGroup source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 42public override Conversion GetMethodGroupFunctionPointerConversion(BoundMethodGroup source, FunctionPointerTypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (5)
99internal abstract TypeWithAnnotations GetMethodGroupResultType(BoundMethodGroup group, MethodSymbol method); 108internal override TypeWithAnnotations GetMethodGroupResultType(BoundMethodGroup group, MethodSymbol method) 1464BoundMethodGroup originalMethodGroup = source as BoundMethodGroup ?? ((BoundUnconvertedAddressOfOperator)source).Operand; 1477Binder binder, BoundMethodGroup source,
Binder\Semantics\OverloadResolution\OverloadResolution.cs (3)
3528var group = (BoundMethodGroup)node; 3576private bool IsMethodGroupConversionIncompatibleWithDelegate(BoundMethodGroup node, NamedTypeSymbol delegateType, Conversion conv)
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (1)
1221Conversions.ReportDelegateOrFunctionPointerMethodGroupDiagnostics(binder, (BoundMethodGroup)argument, parameterType, diagnostics))
BoundTree\BoundExpressionExtensions.cs (3)
157BoundMethodGroup methodGroup => methodGroup.FunctionType, 163public static bool MethodGroupReceiverIsDynamic(this BoundMethodGroup node) 182symbols.AddRange(CSharpSemanticModel.GetReducedAndFilteredMethodGroupSymbols(binder, (BoundMethodGroup)node));
BoundTree\BoundMethodGroup.cs (1)
30return FunctionTypeSymbol.CreateIfFeatureEnabled(syntax, binder, static (binder, expr) => binder.GetMethodGroupDelegateType((BoundMethodGroup)expr));
CodeGen\EmitExpression.cs (2)
799var mg = expression.Argument as BoundMethodGroup;
Compilation\CSharpSemanticModel.cs (3)
3358symbols = GetMethodGroupSemanticSymbols((BoundMethodGroup)boundNode, boundNodeForSyntacticParent, binderOpt, out resultKind, out isDynamic, out memberGroup); 4233BoundMethodGroup boundNode, 4554internal static ImmutableArray<MethodSymbol> GetReducedAndFilteredMethodGroupSymbols(Binder binder, BoundMethodGroup node)
Compilation\MemberSemanticModel.cs (1)
1791receiver = ((BoundMethodGroup)receiver).ReceiverOpt;
FlowAnalysis\AbstractFlowPass.cs (4)
1614var methodGroup = node.Argument as BoundMethodGroup; 1740BoundExpression receiver = ((BoundMethodGroup)node.Operand).ReceiverOpt; 2916public override BoundNode VisitMethodGroup(BoundMethodGroup node)
FlowAnalysis\DefiniteAssignment.cs (1)
2410public override BoundNode VisitMethodGroup(BoundMethodGroup node)
FlowAnalysis\NullableWalker.cs (10)
7916internal override TypeWithAnnotations GetMethodGroupResultType(BoundMethodGroup group, MethodSymbol method) 8844var group = conversionOperand as BoundMethodGroup; 9607case BoundMethodGroup group: 9663Action<NamedTypeSymbol>? visitMethodGroupArgument(BoundDelegateCreationExpression node, NamedTypeSymbol delegateType, BoundMethodGroup group) 9671Action<NamedTypeSymbol>? analyzeMethodGroupConversion(BoundDelegateCreationExpression node, NamedTypeSymbol delegateType, BoundMethodGroup group, bool isTargetTyped) 9692Action<NamedTypeSymbol>? analyzeMethodGroupConversionAsContinuation(BoundDelegateCreationExpression node, BoundMethodGroup group) 9769public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 9808private MethodSymbol CheckMethodGroupReceiverNullability(BoundMethodGroup group, ImmutableArray<ParameterSymbol> parameters, MethodSymbol method, bool invokedAsExtensionMethod) 11668var receiverOpt = (expr as BoundMethodGroup)?.ReceiverOpt;
Generated\BoundNodes.xml.Generated.cs (17)
1304public BoundUnconvertedAddressOfOperator(SyntaxNode syntax, BoundMethodGroup operand, bool hasErrors = false) 1313public BoundMethodGroup Operand { get; } 1319public BoundUnconvertedAddressOfOperator Update(BoundMethodGroup operand) 6101public BoundMethodGroup Update(ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, ImmutableArray<MethodSymbol> methods, Symbol? lookupSymbolOpt, DiagnosticInfo? lookupError, BoundMethodGroupFlags? flags, FunctionTypeSymbol? functionType, BoundExpression? receiverOpt, LookupResultKind resultKind) 6105var result = new BoundMethodGroup(this.Syntax, typeArgumentsOpt, name, methods, lookupSymbolOpt, lookupError, flags, functionType, receiverOpt, resultKind, this.HasErrors); 9153return VisitMethodGroup((BoundMethodGroup)node, arg); 9464public virtual R VisitMethodGroup(BoundMethodGroup node, A arg) => this.DefaultVisit(node, arg); 9700public virtual BoundNode? VisitMethodGroup(BoundMethodGroup node) => this.DefaultVisit(node); 10448public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 10955BoundMethodGroup operand = (BoundMethodGroup)this.Visit(node.Operand); 11725public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 12570BoundMethodGroup operand = (BoundMethodGroup)this.Visit(node.Operand); 13890public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 13896BoundMethodGroup updatedNode; 16357public override TreeDumperNode VisitMethodGroup(BoundMethodGroup node, object? arg) => new TreeDumperNode("methodGroup", null, new TreeDumperNode[]
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (1)
413public override BoundNode VisitMethodGroup(BoundMethodGroup node)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
692var mg = (BoundMethodGroup)node.Operand;
Lowering\DiagnosticsPass_ExpressionTrees.cs (5)
791CheckMethodGroup((BoundMethodGroup)node.Operand, node.Conversion.Method, node.IsExtensionMethod, parentIsConversion: true, node.Type); 859CheckMethodGroup((BoundMethodGroup)node.Argument, node.MethodOpt, node.IsExtensionMethod, parentIsConversion: true, convertedToType: node.Type); 865public override BoundNode VisitMethodGroup(BoundMethodGroup node) 871private void CheckMethodGroup(BoundMethodGroup node, MethodSymbol method, bool isExtensionMethod, bool parentIsConversion, TypeSymbol convertedToType) 939return base.VisitMethodGroup((BoundMethodGroup)node.Expression);
Lowering\LocalRewriter\LocalRewriter_Call.cs (2)
38BoundMethodGroup methodGroup = (BoundMethodGroup)node.Expression;
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (4)
552var mg = (BoundMethodGroup)rewrittenOperand; 565var mg = (BoundMethodGroup)rewrittenOperand;
Lowering\LocalRewriter\LocalRewriter_DelegateCreationExpression.cs (2)
30var mg = (BoundMethodGroup)node.Argument;
Lowering\LocalRewriter\LocalRewriter_IsOperator.cs (2)
35var methodGroup = (BoundMethodGroup)rewrittenOperand;
Lowering\SpillSequenceSpiller.cs (1)
1200public override BoundNode VisitMethodGroup(BoundMethodGroup node)
Operations\CSharpOperationFactory.cs (4)
767case BoundMethodGroup methodGroup: 1038CreateBoundMethodGroupSingleMethodOperation((BoundMethodGroup)boundConversion.Operand, boundConversion.SymbolOpt, suppressVirtualCalls: false), 1160private IMethodReferenceOperation CreateBoundMethodGroupSingleMethodOperation(BoundMethodGroup boundMethodGroup, MethodSymbol methodSymbol, bool suppressVirtualCalls) 2451BoundDynamicInvocation { Expression: BoundMethodGroup { Name: var name } } => name,
Operations\CSharpOperationFactory_Methods.cs (3)
151return CreateBoundMethodGroupSingleMethodOperation((BoundMethodGroup)boundConversion.Operand, 170BoundMethodGroup boundMethodGroup = (BoundMethodGroup)boundDelegateCreationExpression.Argument;