Skip to content

Commit 042be39

Browse files
committed
Add error for non existing function with keyword arguments
1 parent 0ae11a4 commit 042be39

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

src/debugger.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -424,6 +424,9 @@ inline void debug_ast(AST_Node* node, std::string ind = "", Env* env = 0)
424424
std::cerr << ind << "Arguments " << expression;
425425
if (expression->is_delayed()) std::cerr << " [delayed]";
426426
std::cerr << " (" << pstate_source_position(node) << ")";
427+
if (expression->has_named_arguments()) std::cerr << " [has_named_arguments]";
428+
if (expression->has_rest_argument()) std::cerr << " [has_rest_argument]";
429+
if (expression->has_keyword_argument()) std::cerr << " [has_keyword_argument]";
427430
std::cerr << std::endl;
428431
for(auto i : expression->elements()) { debug_ast(i, ind + " ", env); }
429432
} else if (dynamic_cast<Argument*>(node)) {

src/eval.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -605,8 +605,11 @@ namespace Sass {
605605
c->name(),
606606
args);
607607
To_String to_string(&ctx);
608+
if (args->has_named_arguments()) {
609+
error("Function " + c->name() + " doesn't support keyword arguments", c->pstate());
610+
}
608611
return new (ctx.mem) String_Quoted(c->pstate(),
609-
lit->perform(&to_string));
612+
lit->perform(&to_string));
610613
} else {
611614
// call generic function
612615
full_name = "*[f]";

0 commit comments

Comments
 (0)