86 references to Method
Microsoft.CodeAnalysis.CSharp (52)
Binder\Binder.cs (2)
621if (conversion.IsValid && conversion.Method is object) 623ReportDiagnosticsIfObsolete(diagnostics, conversion.Method, node, hasBaseReceiver);
Binder\Binder_Conversions.cs (6)
275if (conversion.Method is not null) 277ReportUseSite(conversion.Method, diagnostics, syntax.Location); 316if (conversion.IsUserDefined && conversion.Method is MethodSymbol method && method.IsStatic) 1021receiverOpt = ReplaceTypeOrValueReceiver(receiverOpt, useType: conversion.Method?.RequiresInstanceReceiver == false && !conversion.IsExtensionMethod, diagnostics); 1444Debug.Assert(conversion.Method is object); 1445MethodSymbol selectedMethod = conversion.Method;
Binder\Binder_Deconstruct.cs (2)
150if (conversion.Method != null) 152CheckImplicitThisCopyInReadOnlyMember(boundRHS, conversion.Method, diagnostics);
Binder\Binder_Expressions.cs (1)
4585return new BoundDelegateCreationExpression(node, methodGroup, conversion.Method, conversion.IsExtensionMethod, wasTargetTyped, type, hasErrors);
Binder\ForEachLoopBinder.cs (2)
525Debug.Assert((object)collectionConversionClassification.Method == null, 527Debug.Assert((object)currentConversionClassification.Method == null,
Binder\Semantics\Conversions\Conversion.cs (7)
510this.Method is object || 914return this.Method.GetPublicSymbol(); 1088return this.Kind == other.Kind && this.Method == other.Method; 1097return Hash.Combine(this.Method, (int)this.Kind); 1131if (self.Method is object) 1133sub.Add(new TreeDumperNode("method", self.Method.ToDisplayString(), null));
Binder\Semantics\OverloadResolution\OverloadResolution.cs (1)
2900bool result = !_binder.MethodIsCompatibleWithDelegateOrFunctionPointer(node.ReceiverOpt, conv.IsExtensionMethod, conv.Method, delegateType, Location.None, BindingDiagnosticBag.Discarded);
Binder\SwitchBinder.cs (1)
414Debug.Assert(conversion.Method.IsUserDefinedConversion());
BoundTree\BoundExpression.cs (1)
416get { return this.Conversion.Method; }
FlowAnalysis\AbstractFlowPass.cs (1)
2819var method = conversion.Method;
FlowAnalysis\NullableWalker.cs (4)
7977var method = conversion.Method; 8481var method = conversion.Method; 9546if (node.OperandConversion is BoundConversion { Conversion: var operandConversion } && operandConversion.IsUserDefined && operandConversion.Method?.ParameterCount == 1) 9548targetTypeOfOperandConversion = operandConversion.Method.ReturnTypeWithAnnotations;
Lowering\DiagnosticsPass_ExpressionTrees.cs (2)
726CheckMethodGroup((BoundMethodGroup)node.Operand, node.Conversion.Method, node.IsExtensionMethod, parentIsConversion: true, node.Type); 766if (_inExpressionLambda && node.Conversion.Method is MethodSymbol method && (method.IsAbstract || method.IsVirtual) && method.IsStatic)
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (1)
217if (conversion.Method.MethodKind == MethodKind.LocalFunction)
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (16)
526Debug.Assert(conversion.Method is null); 728Debug.Assert(conversion.Method is { }); 742if (!TypeSymbol.Equals(rewrittenOperand.Type, conversion.Method.GetParameterType(0), TypeCompareKind.ConsiderEverything2)) 751TypeSymbol userDefinedConversionRewrittenType = conversion.Method.ReturnType; 757conversion.Method.GetParameterType(0).Equals(rewrittenOperand.Type.GetNullableUnderlyingType(), TypeCompareKind.AllIgnoreOptions) && 1080Debug.Assert(conversion.Method is { }); 1082return MakeLiftedUserDefinedConversionConsequence(BoundCall.Synthesized(syntax, receiverOpt: constrainedToTypeOpt is null ? null : new BoundTypeExpression(syntax, aliasOpt: null, constrainedToTypeOpt), conversion.Method, nonNullValue), type); 1197Debug.Assert(conversion.Method is { } && !conversion.Method.ReturnsVoid && conversion.Method.ParameterCount == 1); 1201var parameterType = conversion.Method.GetParameterType(0); 1218return new BoundReadOnlySpanFromArray(syntax, rewrittenOperand, conversion.Method, rewrittenType) { WasCompilerGenerated = true }; 1222BoundExpression result = BoundCall.Synthesized(syntax, receiverOpt: constrainedToTypeOpt is null ? null : new BoundTypeExpression(syntax, aliasOpt: null, constrainedToTypeOpt), conversion.Method, rewrittenOperand); 1292Debug.Assert(conversion.Method is { }); 1294BoundCall userDefinedCall = BoundCall.Synthesized(syntax, receiverOpt: constrainedToTypeOpt is null ? null : new BoundTypeExpression(syntax, aliasOpt: null, constrainedToTypeOpt), conversion.Method, callGetValueOrDefault); 1607var meth = conversion.Method;
Lowering\MethodToClassRewriter.cs (2)
290if (conversion.Method is not null) 292conversion = conversion.SetConversionMethod(VisitMethodSymbol(conversion.Method));
Lowering\SyntheticBoundNodeFactory.cs (3)
1372if (conversion.Method is { } && !TypeSymbol.Equals(conversion.Method.Parameters[0].Type, arg.Type, TypeCompareKind.ConsiderEverything2)) 1374arg = Convert(conversion.Method.Parameters[0].Type, arg);
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (2)
Emit\NumericIntPtrTests.cs (2)
10514Assert.Equal("nint nint.op_Implicit(System.String s)", model.GetConversion(returnStatements[0].Expression).Method.ToTestDisplayString()); 10515Assert.Equal("nuint nuint.op_Implicit(System.String s)", model.GetConversion(returnStatements[1].Expression).Method.ToTestDisplayString());
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (4)
Semantics\ForEachTests.cs (2)
2189Assert.Equal(udc, loopInfo0.ElementConversion.Method); 2198Assert.Null(loopInfo1.ElementConversion.Method); // No longer using UDC.
Semantics\InterpolationTests.cs (1)
4586Assert.Null(semanticInfo.ImplicitConversion.Method);
Semantics\RawInterpolationTests_Handler.cs (1)
2913Assert.Null(semanticInfo.ImplicitConversion.Method);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (28)
Compilation\GetSemanticInfoTests.cs (2)
3480Assert.Null(argConversion.Method); 3534Assert.Null(argConversion.Method);
Compilation\SemanticModelGetSemanticInfoTests.cs (2)
6439Assert.Equal("C.Goo(int)", semanticInfo.ImplicitConversion.Method.ToString()); 12530Assert.Equal("Conv.implicit operator int(Conv)", semanticInfo.ImplicitConversion.Method.ToString());
Symbols\CheckedUserDefinedOperatorsTests.cs (24)
7219Assert.Equal("System.Int64 C0.op_CheckedExplicit(C0 x)", model.ClassifyConversion(xNode.SpanStart, xNode, int64, isExplicitInSource: false).Method.ToTestDisplayString()); 7220Assert.Equal("System.Int64 C0.op_CheckedExplicit(C0 x)", model.ClassifyConversion(xNode.SpanStart, xNode, int64, isExplicitInSource: true).Method.ToTestDisplayString()); 7222Assert.Equal("System.Int64 C0.op_CheckedExplicit(C0 x)", model.ClassifyConversion(yNode.SpanStart, yNode, int64, isExplicitInSource: false).Method.ToTestDisplayString()); 7223Assert.Equal("System.Int64 C0.op_CheckedExplicit(C0 x)", model.ClassifyConversion(yNode.SpanStart, yNode, int64, isExplicitInSource: true).Method.ToTestDisplayString()); 7225Assert.Equal("System.Int64 C0.op_CheckedExplicit(C0 x)", model.ClassifyConversion(xNode, int64, isExplicitInSource: false).Method.ToTestDisplayString()); 7226Assert.Equal("System.Int64 C0.op_CheckedExplicit(C0 x)", model.ClassifyConversion(xNode, int64, isExplicitInSource: true).Method.ToTestDisplayString()); 7228Assert.Equal("System.Int64 C0.op_CheckedExplicit(C0 x)", model.ClassifyConversion(yNode, int64, isExplicitInSource: false).Method.ToTestDisplayString()); 7229Assert.Equal("System.Int64 C0.op_CheckedExplicit(C0 x)", model.ClassifyConversion(yNode, int64, isExplicitInSource: true).Method.ToTestDisplayString()); 7291Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.ClassifyConversion(xNode.SpanStart, xNode, int64, isExplicitInSource: false).Method.ToTestDisplayString()); 7292Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.ClassifyConversion(xNode.SpanStart, xNode, int64, isExplicitInSource: true).Method.ToTestDisplayString()); 7293Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.ClassifyConversion(yNode.SpanStart, yNode, int64, isExplicitInSource: false).Method.ToTestDisplayString()); 7294Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.ClassifyConversion(yNode.SpanStart, yNode, int64, isExplicitInSource: true).Method.ToTestDisplayString()); 7296Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.ClassifyConversion(xNode, int64, isExplicitInSource: false).Method.ToTestDisplayString()); 7297Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.ClassifyConversion(xNode, int64, isExplicitInSource: true).Method.ToTestDisplayString()); 7298Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.ClassifyConversion(yNode, int64, isExplicitInSource: false).Method.ToTestDisplayString()); 7299Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.ClassifyConversion(yNode, int64, isExplicitInSource: true).Method.ToTestDisplayString()); 7362Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.ClassifyConversion(xNode.SpanStart, xNode, int64, isExplicitInSource: false).Method.ToTestDisplayString()); 7363Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.ClassifyConversion(xNode.SpanStart, xNode, int64, isExplicitInSource: true).Method.ToTestDisplayString()); 7365Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.ClassifyConversion(yNode.SpanStart, yNode, int64, isExplicitInSource: false).Method.ToTestDisplayString()); 7366Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.ClassifyConversion(yNode.SpanStart, yNode, int64, isExplicitInSource: true).Method.ToTestDisplayString()); 7368Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.ClassifyConversion(xNode, int64, isExplicitInSource: false).Method.ToTestDisplayString()); 7369Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.ClassifyConversion(xNode, int64, isExplicitInSource: true).Method.ToTestDisplayString()); 7371Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.ClassifyConversion(yNode, int64, isExplicitInSource: false).Method.ToTestDisplayString()); 7372Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.ClassifyConversion(yNode, int64, isExplicitInSource: true).Method.ToTestDisplayString());