ViolatesParameterConstraints() public method

Checks if the given type arguments violate any constraints declared on the type parameters of a specified generic definition.
public ViolatesParameterConstraints ( IEntity definition ) : bool
definition IEntity
return bool
Beispiel #1
0
        /// <summary>
        /// Checks whether a given set of arguments can be used to construct a generic type or method from a specified definition.
        /// </summary>
        public bool CheckGenericConstruction(IEntity definition, Node node, TypeReferenceCollection arguments, CompilerErrorCollection errors)
        {
            GenericConstructionChecker checker = new GenericConstructionChecker(
                TypeSystemServices, node, arguments, Errors);

            return(!(
                       checker.NotGenericDefinition(definition) ||
                       checker.IncorrectGenerity(definition) ||
                       checker.ViolatesParameterConstraints(definition)));
        }
Beispiel #2
0
        /// <summary>
        /// Checks whether a given set of arguments can be used to construct a generic type or method from a specified definition.
        /// </summary>
        public bool CheckGenericConstruction(Node node, IEntity definition, IType[] argumentTypes, CompilerErrorCollection errors)
        {
            GenericConstructionChecker checker = new GenericConstructionChecker(
                TypeSystemServices, node, argumentTypes, Errors);

            return !(
                checker.NotGenericDefinition(definition) ||
                checker.IncorrectGenerity(definition) ||
                checker.ViolatesParameterConstraints(definition));
        }
Beispiel #3
0
        /// <summary>
        /// Checks whether a given set of arguments can be used to construct a generic type or method from a specified definition.
        /// </summary>
        public bool CheckGenericConstruction(IEntity definition, Node node, TypeReferenceCollection arguments, CompilerErrorCollection errors)
        {
            // Ensure definition is a valid entity
            if (definition == null || TypeSystemServices.IsError(definition))
            {
                return false;
            }

            // Ensure definition really is a generic definition
            GenericConstructionChecker checker = new GenericConstructionChecker(
                TypeSystemServices, node, arguments, Errors);

            return !(
                checker.NotGenericDefinition(definition) ||
                checker.IncorrectGenerity(definition) ||
                checker.ViolatesParameterConstraints(definition));
        }