6 instantiations of BoundMethodGroup
Microsoft.CodeAnalysis.CSharp (6)
Binder\Binder_Expressions.cs (4)
5543var boundMethodGroup = new BoundMethodGroup( 8235var boundMethodGroup = new BoundMethodGroup( 8392return new BoundMethodGroup( 10602var boundMethodGroup = new BoundMethodGroup(
Binder\Binder_Symbols.cs (1)
1449return new BoundMethodGroup(
Generated\BoundNodes.xml.Generated.cs (1)
6128var result = new BoundMethodGroup(this.Syntax, typeArgumentsOpt, name, methods, lookupSymbolOpt, lookupError, flags, functionType, receiverOpt, resultKind, this.HasErrors);
138 references to BoundMethodGroup
Microsoft.CodeAnalysis.CSharp (138)
Binder\Binder.ValueChecks.cs (4)
840var methodGroup = (BoundMethodGroup)expr; 990var methodGroup = (BoundMethodGroup)expr;
Binder\Binder_Conversions.cs (12)
288if (source is BoundMethodGroup methodGroup) 1332addMethodBinder, node, node, (BoundMethodGroup)boundExpression, analyzedArguments, diagnostics, out addMethods); 1343BoundMethodGroup boundExpression, 1358BoundMethodGroup methodGroup, 1466Binder addMethodBinder, SyntaxNode syntax, BoundMethodGroup methodGroup, AnalyzedArguments analyzedArguments, MethodGroupResolution resolution, 2210Error(diagnostics, ErrorCode.WRN_MethGrpToNonDel, syntax, ((BoundMethodGroup)source).Name, destination); 2248BoundMethodGroup m => (m, false), 2252BoundMethodGroup group = FixMethodGroupWithTypeOrValue(originalGroup, conversion, diagnostics); 2545return Binder.IsTypeOrValueExpression(((BoundMethodGroup)node).ReceiverOpt); 2548private BoundMethodGroup FixMethodGroupWithTypeOrValue(BoundMethodGroup group, Conversion conversion, BindingDiagnosticBag diagnostics) 3062BoundMethodGroup boundMethodGroup,
Binder\Binder_Deconstruct.cs (1)
671rightSyntax, rightSyntax, methodName, (BoundMethodGroup)memberAccess, analyzedArguments, diagnostics, queryClause: null,
Binder\Binder_Expressions.cs (19)
176if (childNode is BoundMethodGroup methodGroup) 2883!MethodGroupConversionDoesNotExistOrHasErrors((BoundMethodGroup)operand, (NamedTypeSymbol)targetType, syntax.Location, diagnostics, out _)) 5507BoundMethodGroup methodGroup = (BoundMethodGroup)argument; 5543var boundMethodGroup = new BoundMethodGroup( 8058var methodGroup = (BoundMethodGroup)expr; 8231private BoundMethodGroup MakeBoundMethodGroupAndCheckOmittedTypeArguments(BoundExpression boundLeft, string rightName, 8235var boundMethodGroup = new BoundMethodGroup( 8269private void BindMemberAccessReportError(BoundMethodGroup node, BindingDiagnosticBag diagnostics) 8359private BoundExpression BindMemberAccessBadResult(BoundMethodGroup node) 10602var boundMethodGroup = new BoundMethodGroup( 10725BoundMethodGroup node, 10747BoundMethodGroup node, 10779BoundMethodGroup methodGroup, 10853BoundMethodGroup node, 10934internal NamedTypeSymbol? GetMethodGroupDelegateType(BoundMethodGroup node) 10953private MethodSymbol? GetUniqueSignatureFromMethodGroup_CSharp10(BoundMethodGroup node, out bool useParams) 11134private 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, 2324var originalMethods = (expr.Kind == BoundKind.MethodGroup) ? ((BoundMethodGroup)expr).Methods : ImmutableArray<MethodSymbol>.Empty; 2372if (boundArgument is BoundMethodGroup methodGroup) 2426private void EnsureNameofExpressionSymbols(BoundMethodGroup methodGroup, BindingDiagnosticBag diagnostics)
Binder\Binder_Operators.cs (1)
4127case BoundMethodGroup methodGroup:
Binder\Binder_Statements.cs (3)
2402reportMethodGroupErrors((BoundMethodGroup)operand, fromAddressOf: false); 2487void reportMethodGroupErrors(BoundMethodGroup methodGroup, bool fromAddressOf) 4181(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) 251private static MethodGroupResolution ResolveDelegateOrFunctionPointerMethodGroup(Binder binder, BoundMethodGroup source, MethodSymbol delegateInvokeMethodOpt, bool isFunctionPointer, in CallingConventionInfo callingConventionInfo, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 300public 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)
3602var group = (BoundMethodGroup)node; 3666private bool IsMethodGroupConversionIncompatibleWithDelegate(BoundMethodGroup node, NamedTypeSymbol delegateType, Conversion conv)
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (1)
1253Conversions.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)
1934else if (boundExpr is BoundMethodGroup && 3359symbols = GetMethodGroupSemanticSymbols((BoundMethodGroup)boundNode, boundNodeForSyntacticParent, binderOpt, out resultKind, out isDynamic, out memberGroup); 4241BoundMethodGroup boundNode, 4569internal 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; 2947public override BoundNode VisitMethodGroup(BoundMethodGroup node)
FlowAnalysis\DefiniteAssignment.cs (1)
2366public override BoundNode VisitMethodGroup(BoundMethodGroup node)
FlowAnalysis\NullableWalker.cs (10)
8515internal override TypeWithAnnotations GetMethodGroupResultType(BoundMethodGroup group, MethodSymbol method) 9478var group = conversionOperand as BoundMethodGroup; 10249case BoundMethodGroup group: 10305Action<NamedTypeSymbol>? visitMethodGroupArgument(BoundDelegateCreationExpression node, NamedTypeSymbol delegateType, BoundMethodGroup group) 10313Action<NamedTypeSymbol>? analyzeMethodGroupConversion(BoundDelegateCreationExpression node, NamedTypeSymbol delegateType, BoundMethodGroup group, bool isTargetTyped) 10334Action<NamedTypeSymbol>? analyzeMethodGroupConversionAsContinuation(BoundDelegateCreationExpression node, BoundMethodGroup group) 10411public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 10450private MethodSymbol CheckMethodGroupReceiverNullability(BoundMethodGroup group, ImmutableArray<ParameterSymbol> parameters, MethodSymbol method, bool invokedAsExtensionMethod) 12623var receiverOpt = (expr as BoundMethodGroup)?.ReceiverOpt;
Generated\BoundNodes.xml.Generated.cs (17)
1299public BoundUnconvertedAddressOfOperator(SyntaxNode syntax, BoundMethodGroup operand, bool hasErrors = false) 1308public BoundMethodGroup Operand { get; } 1314public BoundUnconvertedAddressOfOperator Update(BoundMethodGroup operand) 6124public BoundMethodGroup Update(ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, ImmutableArray<MethodSymbol> methods, Symbol? lookupSymbolOpt, DiagnosticInfo? lookupError, BoundMethodGroupFlags? flags, FunctionTypeSymbol? functionType, BoundExpression? receiverOpt, LookupResultKind resultKind) 6128var result = new BoundMethodGroup(this.Syntax, typeArgumentsOpt, name, methods, lookupSymbolOpt, lookupError, flags, functionType, receiverOpt, resultKind, this.HasErrors); 9220return VisitMethodGroup((BoundMethodGroup)node, arg); 9531public virtual R VisitMethodGroup(BoundMethodGroup node, A arg) => this.DefaultVisit(node, arg); 9767public virtual BoundNode? VisitMethodGroup(BoundMethodGroup node) => this.DefaultVisit(node); 10516public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 11039BoundMethodGroup operand = (BoundMethodGroup)this.Visit(node.Operand); 11901public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 12794BoundMethodGroup operand = (BoundMethodGroup)this.Visit(node.Operand); 14099public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 14105BoundMethodGroup updatedNode; 16559public 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)
693var 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)
550var mg = (BoundMethodGroup)rewrittenOperand; 563var 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)
767case BoundMethodGroup methodGroup: 1038CreateBoundMethodGroupSingleMethodOperation((BoundMethodGroup)boundConversion.Operand, boundConversion.SymbolOpt, suppressVirtualCalls: false), 1160private IMethodReferenceOperation CreateBoundMethodGroupSingleMethodOperation(BoundMethodGroup boundMethodGroup, MethodSymbol methodSymbol, bool suppressVirtualCalls) 2442BoundDynamicInvocation { Expression: BoundMethodGroup { Name: var name } } => name,
Operations\CSharpOperationFactory_Methods.cs (3)
151return CreateBoundMethodGroupSingleMethodOperation((BoundMethodGroup)boundConversion.Operand, 170BoundMethodGroup boundMethodGroup = (BoundMethodGroup)boundDelegateCreationExpression.Argument;