7 instantiations of BoundMethodGroup
Microsoft.CodeAnalysis.CSharp (7)
Binder\Binder_Conversions.cs (1)
1315var methodGroup = new BoundMethodGroup(
Binder\Binder_Expressions.cs (4)
5637var boundMethodGroup = new BoundMethodGroup( 8369var boundMethodGroup = new BoundMethodGroup( 8530return new BoundMethodGroup( 10741var boundMethodGroup = new BoundMethodGroup(
Binder\Binder_Symbols.cs (1)
1460return new BoundMethodGroup(
Generated\BoundNodes.xml.Generated.cs (1)
6162var result = new BoundMethodGroup(this.Syntax, typeArgumentsOpt, name, methods, lookupSymbolOpt, lookupError, flags, functionType, receiverOpt, resultKind, this.HasErrors);
139 references to BoundMethodGroup
Microsoft.CodeAnalysis.CSharp (139)
Binder\Binder.ValueChecks.cs (4)
857var methodGroup = (BoundMethodGroup)expr; 1007var methodGroup = (BoundMethodGroup)expr;
Binder\Binder_Conversions.cs (13)
296if (source is BoundMethodGroup methodGroup) 1315var methodGroup = new BoundMethodGroup( 1846addMethodBinder, node, node, (BoundMethodGroup)boundExpression, analyzedArguments, diagnostics, out addMethods); 1857BoundMethodGroup boundExpression, 1872BoundMethodGroup methodGroup, 1980Binder addMethodBinder, SyntaxNode syntax, BoundMethodGroup methodGroup, AnalyzedArguments analyzedArguments, MethodGroupResolution resolution, 2682Error(diagnostics, ErrorCode.WRN_MethGrpToNonDel, syntax, ((BoundMethodGroup)source).Name, destination); 2728BoundMethodGroup m => (m, false), 2732BoundMethodGroup group = FixMethodGroupWithTypeOrValue(originalGroup, conversion, diagnostics); 3038return Binder.IsTypeOrValueExpression(((BoundMethodGroup)node).ReceiverOpt); 3041private BoundMethodGroup FixMethodGroupWithTypeOrValue(BoundMethodGroup group, Conversion conversion, BindingDiagnosticBag diagnostics) 3555BoundMethodGroup boundMethodGroup,
Binder\Binder_Deconstruct.cs (1)
673rightSyntax, rightSyntax, methodName, (BoundMethodGroup)memberAccess, analyzedArguments, diagnostics, queryClause: null,
Binder\Binder_Expressions.cs (19)
182if (childNode is BoundMethodGroup methodGroup) 2899!MethodGroupConversionDoesNotExistOrHasErrors((BoundMethodGroup)operand, (NamedTypeSymbol)targetType, syntax.Location, diagnostics, out _)) 5601BoundMethodGroup methodGroup = (BoundMethodGroup)argument; 5637var boundMethodGroup = new BoundMethodGroup( 8192var methodGroup = (BoundMethodGroup)expr; 8365private BoundMethodGroup MakeBoundMethodGroupAndCheckOmittedTypeArguments(BoundExpression boundLeft, string rightName, 8369var boundMethodGroup = new BoundMethodGroup( 8403private void BindMemberAccessReportError(BoundMethodGroup node, BindingDiagnosticBag diagnostics) 8497private BoundExpression BindMemberAccessBadResult(BoundMethodGroup node) 10741var boundMethodGroup = new BoundMethodGroup( 10864BoundMethodGroup node, 10886BoundMethodGroup node, 10918BoundMethodGroup methodGroup, 10992BoundMethodGroup node, 11073internal NamedTypeSymbol? GetMethodGroupDelegateType(BoundMethodGroup node) 11092private MethodSymbol? GetUniqueSignatureFromMethodGroup_CSharp10(BoundMethodGroup node, out bool useParams) 11273private MethodSymbol? GetUniqueSignatureFromMethodGroup(BoundMethodGroup node, out bool useParams)
Binder\Binder_Invocation.cs (10)
362node, expression, methodName, (BoundMethodGroup)boundExpression, analyzedArguments, 413BoundMethodGroup methodGroup = (BoundMethodGroup)expression; 702BoundMethodGroup methodGroup, 885private void ReportDynamicInvocationWarnings(SyntaxNode syntax, BoundMethodGroup methodGroup, BindingDiagnosticBag diagnostics, ImmutableArray<MemberResolutionResult<MethodSymbol>> finalApplicableCandidates) 922BoundMethodGroup boundMethodGroup, 977BoundMethodGroup boundMethodGroup, 2333var originalMethods = (expr.Kind == BoundKind.MethodGroup) ? ((BoundMethodGroup)expr).Methods : ImmutableArray<MethodSymbol>.Empty; 2382if (boundArgument is BoundMethodGroup methodGroup) 2436private void EnsureNameofExpressionSymbols(BoundMethodGroup methodGroup, BindingDiagnosticBag diagnostics)
Binder\Binder_Operators.cs (1)
4126case BoundMethodGroup methodGroup:
Binder\Binder_Statements.cs (3)
2403reportMethodGroupErrors((BoundMethodGroup)operand, fromAddressOf: false); 2488void reportMethodGroupErrors(BoundMethodGroup methodGroup, bool fromAddressOf) 4188(BoundMethodGroup)boundAccess,
Binder\Semantics\Conversions\Conversions.cs (4)
44public override Conversion GetMethodGroupDelegateConversion(BoundMethodGroup source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 115public override Conversion GetMethodGroupFunctionPointerConversion(BoundMethodGroup source, FunctionPointerTypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 252private static MethodGroupResolution ResolveDelegateOrFunctionPointerMethodGroup(Binder binder, BoundMethodGroup source, MethodSymbol delegateInvokeMethodOpt, bool isFunctionPointer, in CallingConventionInfo callingConventionInfo, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 301public 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) 1492BoundMethodGroup originalMethodGroup = source as BoundMethodGroup ?? ((BoundUnconvertedAddressOfOperator)source).Operand; 1505Binder binder, BoundMethodGroup source,
Binder\Semantics\OverloadResolution\OverloadResolution.cs (3)
3609var group = (BoundMethodGroup)node; 3673private bool IsMethodGroupConversionIncompatibleWithDelegate(BoundMethodGroup node, NamedTypeSymbol delegateType, Conversion conv)
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (1)
1262Conversions.ReportDelegateOrFunctionPointerMethodGroupDiagnostics(binder, (BoundMethodGroup)argument, parameterType, diagnostics))
BoundTree\BoundExpressionExtensions.cs (4)
145if (expr is BoundMethodGroup { Methods: not [{ MethodKind: MethodKind.LocalFunction }] } && 167BoundMethodGroup methodGroup => methodGroup.FunctionType, 173public static bool MethodGroupReceiverIsDynamic(this BoundMethodGroup node) 192symbols.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)
810var mg = expression.Argument as BoundMethodGroup;
Compilation\CSharpSemanticModel.cs (4)
1947else if (boundExpr is BoundMethodGroup && 3369symbols = GetMethodGroupSemanticSymbols((BoundMethodGroup)boundNode, boundNodeForSyntacticParent, binderOpt, out resultKind, out isDynamic, out memberGroup); 4251BoundMethodGroup boundNode, 4579internal static ImmutableArray<Symbol> GetReducedAndFilteredMethodGroupSymbols(Binder binder, BoundMethodGroup node)
Compilation\MemberSemanticModel.cs (1)
1830receiver = ((BoundMethodGroup)receiver).ReceiverOpt;
FlowAnalysis\AbstractFlowPass.cs (4)
1621var methodGroup = node.Argument as BoundMethodGroup; 1745BoundExpression receiver = ((BoundMethodGroup)node.Operand).ReceiverOpt; 2948public override BoundNode VisitMethodGroup(BoundMethodGroup node)
FlowAnalysis\DefiniteAssignment.cs (1)
2366public override BoundNode VisitMethodGroup(BoundMethodGroup node)
FlowAnalysis\NullableWalker.cs (10)
8672internal override TypeWithAnnotations GetMethodGroupResultType(BoundMethodGroup group, MethodSymbol method) 9646var group = conversionOperand as BoundMethodGroup; 10416case BoundMethodGroup group: 10472Action<NamedTypeSymbol>? visitMethodGroupArgument(BoundDelegateCreationExpression node, NamedTypeSymbol delegateType, BoundMethodGroup group) 10480Action<NamedTypeSymbol>? analyzeMethodGroupConversion(BoundDelegateCreationExpression node, NamedTypeSymbol delegateType, BoundMethodGroup group, bool isTargetTyped) 10501Action<NamedTypeSymbol>? analyzeMethodGroupConversionAsContinuation(BoundDelegateCreationExpression node, BoundMethodGroup group) 10578public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 10617private MethodSymbol CheckMethodGroupReceiverNullability(BoundMethodGroup group, ImmutableArray<ParameterSymbol> parameters, MethodSymbol method, bool invokedAsExtensionMethod) 12807var receiverOpt = (expr as BoundMethodGroup)?.ReceiverOpt;
Generated\BoundNodes.xml.Generated.cs (17)
1329public BoundUnconvertedAddressOfOperator(SyntaxNode syntax, BoundMethodGroup operand, bool hasErrors = false) 1338public BoundMethodGroup Operand { get; } 1344public BoundUnconvertedAddressOfOperator Update(BoundMethodGroup operand) 6158public BoundMethodGroup Update(ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, ImmutableArray<MethodSymbol> methods, Symbol? lookupSymbolOpt, DiagnosticInfo? lookupError, BoundMethodGroupFlags? flags, FunctionTypeSymbol? functionType, BoundExpression? receiverOpt, LookupResultKind resultKind) 6162var result = new BoundMethodGroup(this.Syntax, typeArgumentsOpt, name, methods, lookupSymbolOpt, lookupError, flags, functionType, receiverOpt, resultKind, this.HasErrors); 9298return VisitMethodGroup((BoundMethodGroup)node, arg); 9612public virtual R VisitMethodGroup(BoundMethodGroup node, A arg) => this.DefaultVisit(node, arg); 9850public virtual BoundNode? VisitMethodGroup(BoundMethodGroup node) => this.DefaultVisit(node); 10601public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 11136BoundMethodGroup operand = (BoundMethodGroup)this.Visit(node.Operand); 11998public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 12908BoundMethodGroup operand = (BoundMethodGroup)this.Visit(node.Operand); 14213public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 14219BoundMethodGroup updatedNode; 16682public 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)
700var mg = (BoundMethodGroup)node.Operand;
Lowering\DiagnosticsPass_ExpressionTrees.cs (5)
851CheckMethodGroup((BoundMethodGroup)node.Operand, node.Conversion.Method, node.IsExtensionMethod, parentIsConversion: true, node.Type); 919CheckMethodGroup((BoundMethodGroup)node.Argument, node.MethodOpt, node.IsExtensionMethod, parentIsConversion: true, convertedToType: node.Type); 925public override BoundNode VisitMethodGroup(BoundMethodGroup node) 931private void CheckMethodGroup(BoundMethodGroup node, MethodSymbol method, bool isExtensionMethod, bool parentIsConversion, TypeSymbol convertedToType) 999return base.VisitMethodGroup((BoundMethodGroup)node.Expression);
Lowering\LocalRewriter\LocalRewriter_Call.cs (2)
37BoundMethodGroup 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)
1213public override BoundNode VisitMethodGroup(BoundMethodGroup node)
Operations\CSharpOperationFactory.cs (4)
782case BoundMethodGroup methodGroup: 1053CreateBoundMethodGroupSingleMethodOperation((BoundMethodGroup)boundConversion.Operand, boundConversion.SymbolOpt, suppressVirtualCalls: false), 1175private IMethodReferenceOperation CreateBoundMethodGroupSingleMethodOperation(BoundMethodGroup boundMethodGroup, MethodSymbol methodSymbol, bool suppressVirtualCalls) 2492BoundDynamicInvocation { Expression: BoundMethodGroup { Name: var name } } => name,
Operations\CSharpOperationFactory_Methods.cs (3)
151return CreateBoundMethodGroupSingleMethodOperation((BoundMethodGroup)boundConversion.Operand, 170BoundMethodGroup boundMethodGroup = (BoundMethodGroup)boundDelegateCreationExpression.Argument;