ICSharpCode.NRefactory.CSharp.Resolver.CSharpResolver.GetUserDefinedOperatorCandidates C# (CSharp) Method

GetUserDefinedOperatorCandidates() private method

private GetUserDefinedOperatorCandidates ( IType type, string operatorName ) : IEnumerable
type IType
operatorName string
return IEnumerable
		IEnumerable<IParameterizedMember> GetUserDefinedOperatorCandidates(IType type, string operatorName)
		{
			if (operatorName == null)
				return EmptyList<IMethod>.Instance;
			TypeCode c = ReflectionHelper.GetTypeCode(type);
			if (TypeCode.Boolean <= c && c <= TypeCode.Decimal || c == TypeCode.String) {
				// The .NET framework contains some of C#'s built-in operators as user-defined operators.
				// However, we must not use those as user-defined operators (we would skip numeric promotion).
				return EmptyList<IMethod>.Instance;
			}
			// C# 4.0 spec: §7.3.5 Candidate user-defined operators
			var operators = type.GetMethods(m => m.IsOperator && m.Name == operatorName).ToList();
			LiftUserDefinedOperators(operators);
			return operators;
		}
		
CSharpResolver