error message for overloading corrected. 66/11466/4
Cedric Delamarre [Fri, 10 May 2013 08:28:08 +0000 (10:28 +0200)]
and("a")
"a" & 2
test_run("boolean","bug_8412",["no_check_error_output" ]);

Change-Id: I8f975bc4ab4c65fd6e08eaf599c12389fd7d73f1

scilab/modules/api_scilab/src/cpp/overload.cpp

index c29ef97..bf5dfc8 100644 (file)
@@ -49,7 +49,15 @@ types::Function::ReturnValue Overload::call(std::wstring _stOverloadingFunctionN
 
     if (pIT == NULL || pIT->isCallable() == false)
     {
-        throw ast::ScilabError(_W("check or define function ") + _stOverloadingFunctionName + _W(" for overloading.\n"), 246, *new Location());
+        if (in.size() < 2)
+        {
+            throw ast::ScilabError(_W("Function not defined for given argument type(s),\n  check arguments or define function ") + _stOverloadingFunctionName + _W(" for overloading.\n"), 246, *new Location());
+        }
+        else
+        {
+            throw ast::ScilabError(_W("Undefined operation for the given operands.\ncheck or define function ") + _stOverloadingFunctionName + _W(" for overloading.\n"), 144, *new Location());
+        }
+
     }
     types::Callable *pCall = pIT->getAs<types::Callable>();
     try