7 instantiations of BoundMethodGroup
Microsoft.CodeAnalysis.CSharp (7)
Binder\Binder_Conversions.cs (1)
1389var methodGroup = new BoundMethodGroup(
Binder\Binder_Expressions.cs (4)
5657var boundMethodGroup = new BoundMethodGroup( 8392var boundMethodGroup = new BoundMethodGroup( 8553return new BoundMethodGroup( 11417var boundMethodGroup = new BoundMethodGroup(
Binder\Binder_Symbols.cs (1)
1463return new BoundMethodGroup(
Generated\BoundNodes.xml.Generated.cs (1)
6179var result = new BoundMethodGroup(this.Syntax, typeArgumentsOpt, name, methods, lookupSymbolOpt, lookupError, flags, functionType, receiverOpt, resultKind, this.HasErrors);
141 references to BoundMethodGroup
Microsoft.CodeAnalysis.CSharp (141)
Binder\Binder_Conversions.cs (13)
341if (source is BoundMethodGroup methodGroup) 1389var methodGroup = new BoundMethodGroup( 1923addMethodBinder, node, node, (BoundMethodGroup)boundExpression, analyzedArguments, diagnostics, out addMethods); 1934BoundMethodGroup boundExpression, 1949BoundMethodGroup methodGroup, 2058Binder addMethodBinder, SyntaxNode syntax, BoundMethodGroup methodGroup, AnalyzedArguments analyzedArguments, MethodGroupResolution resolution, 2890Error(diagnostics, ErrorCode.WRN_MethGrpToNonDel, syntax, ((BoundMethodGroup)source).Name, destination); 2936BoundMethodGroup m => (m, false), 2940BoundMethodGroup group = FixMethodGroupWithTypeOrValue(originalGroup, conversion, diagnostics); 3248return Binder.IsTypeOrValueExpression(((BoundMethodGroup)node).ReceiverOpt); 3251private BoundMethodGroup FixMethodGroupWithTypeOrValue(BoundMethodGroup group, Conversion conversion, BindingDiagnosticBag diagnostics) 3766BoundMethodGroup 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) 2903!MethodGroupConversionDoesNotExistOrHasErrors((BoundMethodGroup)operand, (NamedTypeSymbol)targetType, syntax.Location, diagnostics, out _)) 5621BoundMethodGroup methodGroup = (BoundMethodGroup)argument; 5657var boundMethodGroup = new BoundMethodGroup( 8215var methodGroup = (BoundMethodGroup)expr; 8388private BoundMethodGroup MakeBoundMethodGroupAndCheckOmittedTypeArguments(BoundExpression boundLeft, string rightName, 8392var boundMethodGroup = new BoundMethodGroup( 8426private void BindMemberAccessReportError(BoundMethodGroup node, BindingDiagnosticBag diagnostics) 8520private BoundExpression BindMemberAccessBadResult(BoundMethodGroup node) 11417var boundMethodGroup = new BoundMethodGroup( 11595BoundMethodGroup node, 11617BoundMethodGroup node, 11649BoundMethodGroup methodGroup, 11723BoundMethodGroup node, 11804internal NamedTypeSymbol? GetMethodGroupDelegateType(BoundMethodGroup node) 11823private MethodSymbol? GetUniqueSignatureFromMethodGroup_CSharp10(BoundMethodGroup node, out bool useParams) 12004private MethodSymbol? GetUniqueSignatureFromMethodGroup(BoundMethodGroup node, out bool useParams)
Binder\Binder_Invocation.cs (12)
362node, expression, methodName, (BoundMethodGroup)boundExpression, analyzedArguments, 413BoundMethodGroup methodGroup = (BoundMethodGroup)expression; 702BoundMethodGroup methodGroup, 739BoundMethodGroup methodGroup, 752BoundExpression bindMethodGroupInvocationCore(SyntaxNode syntax, SyntaxNode expression, string methodName, BoundMethodGroup methodGroup, AnalyzedArguments analyzedArguments, MethodGroupResolution resolution, BindingDiagnosticBag diagnostics, CSharpSyntaxNode queryClause, out bool anyApplicableCandidates) 910private void ReportDynamicInvocationWarnings(SyntaxNode syntax, BoundMethodGroup methodGroup, BindingDiagnosticBag diagnostics, ImmutableArray<MemberResolutionResult<MethodSymbol>> finalApplicableCandidates) 947BoundMethodGroup boundMethodGroup, 1002BoundMethodGroup boundMethodGroup, 2371var originalMethods = (expr.Kind == BoundKind.MethodGroup) ? ((BoundMethodGroup)expr).Methods : ImmutableArray<MethodSymbol>.Empty; 2420if (boundArgument is BoundMethodGroup methodGroup) 2474private void EnsureNameofExpressionSymbols(BoundMethodGroup methodGroup, BindingDiagnosticBag diagnostics)
Binder\Binder_Operators.cs (1)
4150case BoundMethodGroup methodGroup:
Binder\Binder_Statements.cs (3)
2404reportMethodGroupErrors((BoundMethodGroup)operand, fromAddressOf: false); 2489void reportMethodGroupErrors(BoundMethodGroup methodGroup, bool fromAddressOf) 4249(BoundMethodGroup)boundAccess,
Binder\Binder.ValueChecks.cs (4)
836var methodGroup = (BoundMethodGroup)expr; 986var methodGroup = (BoundMethodGroup)expr;
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) 264private static MethodGroupResolution ResolveDelegateOrFunctionPointerMethodGroup(Binder binder, BoundMethodGroup source, MethodSymbol delegateInvokeMethodOpt, bool isFunctionPointer, in CallingConventionInfo callingConventionInfo, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 313public 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); 1113Conversion 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)
3611var group = (BoundMethodGroup)node; 3675private 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)
822var 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); 4258BoundMethodGroup boundNode, 4586internal static ImmutableArray<Symbol> GetReducedAndFilteredMethodGroupSymbols(Binder binder, BoundMethodGroup node)
Compilation\MemberSemanticModel.cs (1)
1837receiver = ((BoundMethodGroup)receiver).ReceiverOpt;
FlowAnalysis\AbstractFlowPass.cs (4)
1632var methodGroup = node.Argument as BoundMethodGroup; 1756BoundExpression receiver = ((BoundMethodGroup)node.Operand).ReceiverOpt; 2959public override BoundNode VisitMethodGroup(BoundMethodGroup node)
FlowAnalysis\DefiniteAssignment.cs (1)
2408public override BoundNode VisitMethodGroup(BoundMethodGroup node)
FlowAnalysis\NullableWalker.cs (10)
8935internal override TypeWithAnnotations GetMethodGroupResultType(BoundMethodGroup group, MethodSymbol method) 9969var group = conversionOperand as BoundMethodGroup; 10973case BoundMethodGroup group: 11029Action<NamedTypeSymbol>? visitMethodGroupArgument(BoundDelegateCreationExpression node, NamedTypeSymbol delegateType, BoundMethodGroup group) 11037Action<NamedTypeSymbol>? analyzeMethodGroupConversion(BoundDelegateCreationExpression node, NamedTypeSymbol delegateType, BoundMethodGroup group, bool isTargetTyped) 11058Action<NamedTypeSymbol>? analyzeMethodGroupConversionAsContinuation(BoundDelegateCreationExpression node, BoundMethodGroup group) 11135public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 11174private MethodSymbol CheckMethodGroupReceiverNullability(BoundMethodGroup group, ImmutableArray<ParameterSymbol> parameters, MethodSymbol method, bool invokedAsExtensionMethod) 13439var receiverOpt = (expr as BoundMethodGroup)?.ReceiverOpt;
Generated\BoundNodes.xml.Generated.cs (17)
1331public BoundUnconvertedAddressOfOperator(SyntaxNode syntax, BoundMethodGroup operand, bool hasErrors = false) 1340public BoundMethodGroup Operand { get; } 1346public BoundUnconvertedAddressOfOperator Update(BoundMethodGroup operand) 6175public BoundMethodGroup Update(ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, ImmutableArray<MethodSymbol> methods, Symbol? lookupSymbolOpt, DiagnosticInfo? lookupError, BoundMethodGroupFlags? flags, FunctionTypeSymbol? functionType, BoundExpression? receiverOpt, LookupResultKind resultKind) 6179var result = new BoundMethodGroup(this.Syntax, typeArgumentsOpt, name, methods, lookupSymbolOpt, lookupError, flags, functionType, receiverOpt, resultKind, this.HasErrors); 9404return VisitMethodGroup((BoundMethodGroup)node, arg); 9723public virtual R VisitMethodGroup(BoundMethodGroup node, A arg) => this.DefaultVisit(node, arg); 9964public virtual BoundNode? VisitMethodGroup(BoundMethodGroup node) => this.DefaultVisit(node); 10734public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 11282BoundMethodGroup operand = (BoundMethodGroup)this.Visit(node.Operand); 12151public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 13082BoundMethodGroup operand = (BoundMethodGroup)this.Visit(node.Operand); 14387public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 14393BoundMethodGroup updatedNode; 16896public 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)
859CheckMethodGroup((BoundMethodGroup)node.Operand, node.Conversion.Method, node.IsExtensionMethod, parentIsConversion: true, node.Type); 934CheckMethodGroup((BoundMethodGroup)node.Argument, node.MethodOpt, node.IsExtensionMethod, parentIsConversion: true, convertedToType: node.Type); 940public override BoundNode VisitMethodGroup(BoundMethodGroup node) 946private void CheckMethodGroup(BoundMethodGroup node, MethodSymbol method, bool isExtensionMethod, bool parentIsConversion, TypeSymbol convertedToType) 1014return base.VisitMethodGroup((BoundMethodGroup)node.Expression);
Lowering\LocalRewriter\LocalRewriter_Call.cs (2)
37BoundMethodGroup methodGroup = (BoundMethodGroup)node.Expression;
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (4)
558var mg = (BoundMethodGroup)rewrittenOperand; 571var 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)
1284public override BoundNode VisitMethodGroup(BoundMethodGroup node)
Operations\CSharpOperationFactory_Methods.cs (3)
151return CreateBoundMethodGroupSingleMethodOperation((BoundMethodGroup)boundConversion.Operand, 170BoundMethodGroup boundMethodGroup = (BoundMethodGroup)boundDelegateCreationExpression.Argument;
Operations\CSharpOperationFactory.cs (4)
782case BoundMethodGroup methodGroup: 1097CreateBoundMethodGroupSingleMethodOperation((BoundMethodGroup)boundConversion.Operand, boundConversion.SymbolOpt, suppressVirtualCalls: false), 1219private IMethodReferenceOperation CreateBoundMethodGroupSingleMethodOperation(BoundMethodGroup boundMethodGroup, MethodSymbol methodSymbol, bool suppressVirtualCalls) 2536BoundDynamicInvocation { Expression: BoundMethodGroup { Name: var name } } => name,