Exemple #1
0
        public static bool HasAttribute(this ICSharpFunctionDeclaration functionDeclaration, Type attributeType)
        {
            Contract.Requires(functionDeclaration != null);
            Contract.Requires(functionDeclaration.IsValidForContracts());
            Contract.Requires(attributeType != null);
            Contract.Requires(attributeType.IsAttribute());

            return(functionDeclaration.DeclaredElement.HasAttributeInstance(
                       new ClrTypeName(attributeType.FullName), inherit: true));
        }
Exemple #2
0
        public static IDeclaredType GetReturnType(this ICSharpFunctionDeclaration functionDeclaration)
        {
            Contract.Requires(functionDeclaration != null);
            Contract.Requires(functionDeclaration.IsValidForContracts());

            // TODO: add another precondition taht functionDeclaration is resolved!.
            // Only in this case we can ensure that result would be not null
            // Contract.Requires(functionDeclaration.Resolved().IsOk());

            return(functionDeclaration.DeclaredElement.ReturnType as IDeclaredType);
        }
        private bool IsRequiresAvailable(string parameterName, ICSharpFunctionDeclaration functionToInsertPrecondition)
        {
            Contract.Requires(!string.IsNullOrEmpty(parameterName));
            Contract.Requires(functionToInsertPrecondition != null);

            if (!functionToInsertPrecondition.IsValidForContracts())
            {
                return(false);
            }

            if (IsArgumentAlreadyVerifiedByPrecondition(functionToInsertPrecondition, parameterName))
            {
                return(false);
            }

            return(true);
        }