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_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\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)
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\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);