Commit 1669689b by Aaron Leung

Checking for calls to nonexistent functions.

parent 09458571
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
namespace Sass { namespace Sass {
using std::cerr; using std::endl; using std::cerr; using std::endl;
void eval_error(string message, size_t line_number, const char* file_name) static void eval_error(string message, size_t line_number, const char* file_name)
{ {
string fn; string fn;
if (file_name) { if (file_name) {
...@@ -212,6 +212,11 @@ namespace Sass { ...@@ -212,6 +212,11 @@ namespace Sass {
case Node::function_call: { case Node::function_call: {
// TO DO: default-constructed Function should be a generic callback // TO DO: default-constructed Function should be a generic callback
pair<string, size_t> sig(expr[0].content.token.to_string(), expr[1].size()); pair<string, size_t> sig(expr[0].content.token.to_string(), expr[1].size());
if (!f_env.count(sig)) {
stringstream ss;
ss << "no function named " << expr[0].content.token.to_string() << " taking " << expr[1].size() << " arguments has been defined";
eval_error(ss.str(), expr.line_number, expr.file_name);
}
return apply_function(f_env[sig], expr[1], env, f_env); return apply_function(f_env[sig], expr[1], env, f_env);
} break; } break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment