// Copyright (c) 2010 AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under MIT X11 license (for details please see \doc\license.txt)
using System;
namespace ICSharpCode.NRefactory.CSharp.Resolver
{
[Flags]
public enum OverloadResolutionErrors
{
None = 0,
///
/// Too many positional arguments (some could not be mapped to any parameter).
///
TooManyPositionalArguments = 0x0001,
///
/// A named argument could not be mapped to any parameter
///
NoParameterFoundForNamedArgument = 0x0002,
///
/// Type inference failed for a generic method.
///
TypeInferenceFailed = 0x0004,
///
/// Type arguments were explicitly specified, but did not match the number of type parameters.
///
WrongNumberOfTypeArguments = 0x0008,
///
/// After substituting type parameters with the inferred types; a constructed type within the formal parameters
/// does not satisfy its constraint.
///
ConstructedTypeDoesNotSatisfyConstraint = 0x0010,
///
/// No argument was mapped to a non-optional parameter
///
MissingArgumentForRequiredParameter = 0x0020,
///
/// Several arguments were mapped to a single (non-params-array) parameter
///
MultipleArgumentsForSingleParameter = 0x0040,
///
/// 'ref'/'out' passing mode doesn't match for at least 1 parameter
///
ParameterPassingModeMismatch = 0x0080,
///
/// Argument type cannot be converted to parameter type
///
ArgumentTypeMismatch = 0x0100,
///
/// There is no unique best overload
///
AmbiguousMatch = 0x0200
}
}