protected override bool ReturnTypeCompatibleForEnsure(ICSharpFunctionDeclaration methodDeclaration)
        {
            var returnType = methodDeclaration.GetReturnType();

            return(returnType.IsEnumType() ||
                   (returnType.IsNullable() && returnType.GetNullableUnderlyingType().IsEnumType()));
        }
Exemplo n.º 2
0
        public static bool IsValidForContracts(this ICSharpFunctionDeclaration functionDeclaration)
        {
            // TODO: is there any other criterias??

            return(functionDeclaration != null &&
                   functionDeclaration.DeclaredElement != null &&
                   // TODO: removed this, because for abstract method we're considering only return types
                   // but not the body!
                   //functionDeclaration.Body != null &&
                   functionDeclaration.IsValid() &&
                   functionDeclaration.GetReturnType() != null);
        }
Exemplo n.º 3
0
        private bool ResultIsAlreadyCheckedByContractEnsures(ICSharpFunctionDeclaration functionDeclaration)
        {
            Contract.Requires(functionDeclaration != null);

            if (functionDeclaration.Body == null)
            {
                return(false);
            }

            var returnType = functionDeclaration.GetReturnType();

            if (returnType == null)
            {
                return(false);
            }

            return(ResultIsAlreadyCheckedByContractEnsures(
                       functionDeclaration.GetEnsures(), returnType));
        }
 protected override bool ReturnTypeCompatibleForEnsure(ICSharpFunctionDeclaration methodDeclaration)
 {
     var returnType = methodDeclaration.GetReturnType();
     return returnType.IsEnumType() || 
         (returnType.IsNullable() && returnType.GetNullableUnderlyingType().IsEnumType());
 }
 protected override bool ReturnTypeCompatibleForEnsure(ICSharpFunctionDeclaration methodDeclaration)
 {
     return methodDeclaration.GetReturnType().IsReferenceOrNullableType();
 }
 private bool ResultIsVoid(ICSharpFunctionDeclaration functionDeclaration)
 {
     return functionDeclaration.GetReturnType().IsVoid();
 }
        private bool ResultIsAlreadyCheckedByContractEnsures(ICSharpFunctionDeclaration functionDeclaration)
        {
            Contract.Requires(functionDeclaration != null);

            if (functionDeclaration.Body == null)
                return false;

            var returnType = functionDeclaration.GetReturnType();

            if (returnType == null)
                return false;

            return ResultIsAlreadyCheckedByContractEnsures(
                functionDeclaration.GetEnsures(), returnType);
        }
 protected override bool ReturnTypeCompatibleForEnsure(ICSharpFunctionDeclaration methodDeclaration)
 {
     return(methodDeclaration.GetReturnType().IsReferenceOrNullableType());
 }
 private bool ResultIsVoid(ICSharpFunctionDeclaration functionDeclaration)
 {
     return(functionDeclaration.GetReturnType().IsVoid());
 }