6 instantiations of BoundMethodGroup
Microsoft.CodeAnalysis.CSharp (6)
Binder\Binder_Expressions.cs (4)
4618var boundMethodGroup = new BoundMethodGroup( 6908var boundMethodGroup = new BoundMethodGroup( 7074return new BoundMethodGroup( 8760var boundMethodGroup = new BoundMethodGroup(
Binder\Binder_Symbols.cs (1)
1462return new BoundMethodGroup(
Generated\BoundNodes.xml.Generated.cs (1)
5994var result = new BoundMethodGroup(this.Syntax, typeArgumentsOpt, name, methods, lookupSymbolOpt, lookupError, flags, functionType, receiverOpt, resultKind, this.HasErrors);
131 references to BoundMethodGroup
Microsoft.CodeAnalysis.CSharp (130)
Binder\Binder.ValueChecks.cs (4)
444var methodGroup = (BoundMethodGroup)expr; 592var methodGroup = (BoundMethodGroup)expr;
Binder\Binder_Conversions.cs (7)
686Error(diagnostics, ErrorCode.WRN_MethGrpToNonDel, syntax, ((BoundMethodGroup)source).Name, destination); 724BoundMethodGroup m => (m, false), 728BoundMethodGroup group = FixMethodGroupWithTypeOrValue(originalGroup, conversion, diagnostics); 1008return Binder.IsTypeOrValueExpression(((BoundMethodGroup)node).ReceiverOpt); 1011private BoundMethodGroup FixMethodGroupWithTypeOrValue(BoundMethodGroup group, Conversion conversion, BindingDiagnosticBag diagnostics) 1497BoundMethodGroup boundMethodGroup,
Binder\Binder_Deconstruct.cs (1)
671rightSyntax, rightSyntax, methodName, (BoundMethodGroup)memberAccess, analyzedArguments, diagnostics, queryClause: null,
Binder\Binder_Expressions.cs (17)
2566!MethodGroupConversionDoesNotExistOrHasErrors((BoundMethodGroup)operand, (NamedTypeSymbol)targetType, syntax.Location, diagnostics, out _)) 4582BoundMethodGroup methodGroup = (BoundMethodGroup)argument; 4618var boundMethodGroup = new BoundMethodGroup( 6826var methodGroup = (BoundMethodGroup)expr; 6908var boundMethodGroup = new BoundMethodGroup( 6951private void BindMemberAccessReportError(BoundMethodGroup node, BindingDiagnosticBag diagnostics) 7041private BoundExpression BindMemberAccessBadResult(BoundMethodGroup node) 8760var boundMethodGroup = new BoundMethodGroup( 8872BoundMethodGroup node, 8889BoundMethodGroup node, 8922BoundMethodGroup methodGroup, 8943BoundMethodGroup methodGroup, 9017BoundMethodGroup node, 9093internal NamedTypeSymbol? GetMethodGroupDelegateType(BoundMethodGroup node) 9109private MethodSymbol? GetUniqueSignatureFromMethodGroup(BoundMethodGroup node)
Binder\Binder_Invocation.cs (9)
272node, expression, methodName, (BoundMethodGroup)boundExpression, analyzedArguments, 317BoundMethodGroup methodGroup = (BoundMethodGroup)expression; 569BoundMethodGroup methodGroup, 709BoundMethodGroup boundMethodGroup, 1843var originalMethods = (expr.Kind == BoundKind.MethodGroup) ? ((BoundMethodGroup)expr).Methods : ImmutableArray<MethodSymbol>.Empty; 1893var methodGroup = (BoundMethodGroup)boundArgument; 1914private void EnsureNameofExpressionSymbols(BoundMethodGroup methodGroup, BindingDiagnosticBag diagnostics)
Binder\Binder_Operators.cs (1)
2496case BoundMethodGroup methodGroup:
Binder\Binder_Query.cs (2)
957var methodGroup = (BoundMethodGroup)ultimateReceiver;
Binder\Binder_Statements.cs (3)
2321reportMethodGroupErrors((BoundMethodGroup)operand, fromAddressOf: false); 2402void reportMethodGroupErrors(BoundMethodGroup methodGroup, bool fromAddressOf) 4037(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) 153private static MethodGroupResolution ResolveDelegateOrFunctionPointerMethodGroup(Binder binder, BoundMethodGroup source, MethodSymbol delegateInvokeMethodOpt, bool isFunctionPointer, in CallingConventionInfo callingConventionInfo, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 197public static bool ReportDelegateOrFunctionPointerMethodGroupDiagnostics(Binder binder, BoundMethodGroup expr, TypeSymbol targetType, BindingDiagnosticBag diagnostics)
Binder\Semantics\Conversions\ConversionsBase.cs (3)
66public abstract Conversion GetMethodGroupDelegateConversion(BoundMethodGroup source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo); 68public abstract Conversion GetMethodGroupFunctionPointerConversion(BoundMethodGroup source, FunctionPointerTypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo); 1061Conversion methodGroupConversion = GetMethodGroupDelegateConversion((BoundMethodGroup)sourceExpression, destination, ref useSiteInfo);
Binder\Semantics\Conversions\TypeConversions.cs (2)
38public override Conversion GetMethodGroupDelegateConversion(BoundMethodGroup source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 44public override Conversion GetMethodGroupFunctionPointerConversion(BoundMethodGroup source, FunctionPointerTypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (5)
98internal abstract TypeWithAnnotations GetMethodGroupResultType(BoundMethodGroup group, MethodSymbol method); 107internal override TypeWithAnnotations GetMethodGroupResultType(BoundMethodGroup group, MethodSymbol method) 1373BoundMethodGroup originalMethodGroup = source as BoundMethodGroup ?? ((BoundUnconvertedAddressOfOperator)source).Operand; 1386Binder binder, BoundMethodGroup source,
Binder\Semantics\OverloadResolution\OverloadResolution.cs (3)
2848var group = (BoundMethodGroup)node; 2896private bool IsMethodGroupConversionIncompatibleWithDelegate(BoundMethodGroup node, NamedTypeSymbol delegateType, Conversion conv)
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (1)
1186Conversions.ReportDelegateOrFunctionPointerMethodGroupDiagnostics(binder, (BoundMethodGroup)argument, parameterType, diagnostics))
BoundTree\BoundExpressionExtensions.cs (3)
139BoundMethodGroup methodGroup => methodGroup.FunctionType, 145public static bool MethodGroupReceiverIsDynamic(this BoundMethodGroup node) 164symbols.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)
785var mg = expression.Argument as BoundMethodGroup;
Compilation\CSharpSemanticModel.cs (3)
3351symbols = GetMethodGroupSemanticSymbols((BoundMethodGroup)boundNode, boundNodeForSyntacticParent, binderOpt, out resultKind, out isDynamic, out memberGroup); 4218BoundMethodGroup boundNode, 4539internal static ImmutableArray<MethodSymbol> GetReducedAndFilteredMethodGroupSymbols(Binder binder, BoundMethodGroup node)
Compilation\MemberSemanticModel.cs (1)
1782receiver = ((BoundMethodGroup)receiver).ReceiverOpt;
FlowAnalysis\AbstractFlowPass.cs (4)
1517var methodGroup = node.Argument as BoundMethodGroup; 1637BoundExpression receiver = ((BoundMethodGroup)node.Operand).ReceiverOpt; 2724public override BoundNode VisitMethodGroup(BoundMethodGroup node)
FlowAnalysis\DefiniteAssignment.cs (1)
2246public override BoundNode VisitMethodGroup(BoundMethodGroup node)
FlowAnalysis\NullableWalker.cs (10)
7111internal override TypeWithAnnotations GetMethodGroupResultType(BoundMethodGroup group, MethodSymbol method) 7975var group = conversionOperand as BoundMethodGroup; 8707case BoundMethodGroup group: 8763Action<NamedTypeSymbol>? visitMethodGroupArgument(BoundDelegateCreationExpression node, NamedTypeSymbol delegateType, BoundMethodGroup group) 8771Action<NamedTypeSymbol>? analyzeMethodGroupConversion(BoundDelegateCreationExpression node, NamedTypeSymbol delegateType, BoundMethodGroup group, bool isTargetTyped) 8792Action<NamedTypeSymbol>? analyzeMethodGroupConversionAsContinuation(BoundDelegateCreationExpression node, BoundMethodGroup group) 8869public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 8908private MethodSymbol CheckMethodGroupReceiverNullability(BoundMethodGroup group, ImmutableArray<ParameterSymbol> parameters, MethodSymbol method, bool invokedAsExtensionMethod) 10749var receiverOpt = (expr as BoundMethodGroup)?.ReceiverOpt;
Generated\BoundNodes.xml.Generated.cs (17)
1292public BoundUnconvertedAddressOfOperator(SyntaxNode syntax, BoundMethodGroup operand, bool hasErrors = false) 1301public BoundMethodGroup Operand { get; } 1307public BoundUnconvertedAddressOfOperator Update(BoundMethodGroup operand) 5990public BoundMethodGroup Update(ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, ImmutableArray<MethodSymbol> methods, Symbol? lookupSymbolOpt, DiagnosticInfo? lookupError, BoundMethodGroupFlags? flags, FunctionTypeSymbol? functionType, BoundExpression? receiverOpt, LookupResultKind resultKind) 5994var result = new BoundMethodGroup(this.Syntax, typeArgumentsOpt, name, methods, lookupSymbolOpt, lookupError, flags, functionType, receiverOpt, resultKind, this.HasErrors); 8829return VisitMethodGroup((BoundMethodGroup)node, arg); 9127public virtual R VisitMethodGroup(BoundMethodGroup node, A arg) => this.DefaultVisit(node, arg); 9355public virtual BoundNode? VisitMethodGroup(BoundMethodGroup node) => this.DefaultVisit(node); 10091public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 10576BoundMethodGroup operand = (BoundMethodGroup)this.Visit(node.Operand); 11330public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 12136BoundMethodGroup operand = (BoundMethodGroup)this.Visit(node.Operand); 13423public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 13429BoundMethodGroup updatedNode; 15797public override TreeDumperNode VisitMethodGroup(BoundMethodGroup node, object? arg) => new TreeDumperNode("methodGroup", null, new TreeDumperNode[]
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (1)
395public override BoundNode VisitMethodGroup(BoundMethodGroup node)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
622var mg = (BoundMethodGroup)node.Operand;
Lowering\DiagnosticsPass_ExpressionTrees.cs (5)
726CheckMethodGroup((BoundMethodGroup)node.Operand, node.Conversion.Method, node.IsExtensionMethod, parentIsConversion: true, node.Type); 787CheckMethodGroup((BoundMethodGroup)node.Argument, node.MethodOpt, node.IsExtensionMethod, parentIsConversion: true, convertedToType: node.Type); 793public override BoundNode VisitMethodGroup(BoundMethodGroup node) 799private void CheckMethodGroup(BoundMethodGroup node, MethodSymbol method, bool isExtensionMethod, bool parentIsConversion, TypeSymbol convertedToType) 867return base.VisitMethodGroup((BoundMethodGroup)node.Expression);
Lowering\LocalRewriter\LocalRewriter_Call.cs (2)
38BoundMethodGroup methodGroup = (BoundMethodGroup)node.Expression;
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (4)
543var mg = (BoundMethodGroup)rewrittenOperand; 556var mg = (BoundMethodGroup)rewrittenOperand;
Lowering\LocalRewriter\LocalRewriter_DelegateCreationExpression.cs (2)
28var mg = (BoundMethodGroup)node.Argument;
Lowering\LocalRewriter\LocalRewriter_IsOperator.cs (2)
35var methodGroup = (BoundMethodGroup)rewrittenOperand;
Lowering\SpillSequenceSpiller.cs (1)
1102public override BoundNode VisitMethodGroup(BoundMethodGroup node)
Operations\CSharpOperationFactory.cs (4)
764case BoundMethodGroup methodGroup: 1032CreateBoundMethodGroupSingleMethodOperation((BoundMethodGroup)boundConversion.Operand, boundConversion.SymbolOpt, suppressVirtualCalls: false), 1154private IMethodReferenceOperation CreateBoundMethodGroupSingleMethodOperation(BoundMethodGroup boundMethodGroup, MethodSymbol methodSymbol, bool suppressVirtualCalls) 2334BoundDynamicInvocation { Expression: BoundMethodGroup { Name: var name } } => name,
Operations\CSharpOperationFactory_Methods.cs (3)
151return CreateBoundMethodGroupSingleMethodOperation((BoundMethodGroup)boundConversion.Operand, 170BoundMethodGroup boundMethodGroup = (BoundMethodGroup)boundDelegateCreationExpression.Argument;
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (1)
Rewriters\CapturedVariableRewriter.cs (1)
70public override BoundNode VisitMethodGroup(BoundMethodGroup node)