Commit a1fc4ba9 by Aaron Leung

Implemented pure-Sass functions.

parent f1de297b
...@@ -720,11 +720,22 @@ namespace Sass { ...@@ -720,11 +720,22 @@ namespace Sass {
} break; } break;
case Node::while_directive: { case Node::while_directive: {
Node pred_expr(stm[0]);
Node while_body(stm[1]);
Environment while_env; // re-use this env for each iteration
while_env.link(bindings);
Node pred_val(eval(pred_expr, Node(), bindings, ctx.function_env, new_Node, ctx));
while ((pred_val.type() != Node::boolean) || pred_val.boolean_value()) {
Node v(function_eval(name, while_body, while_env, new_Node, ctx));
if (v.is_null_ptr()) {
pred_val = eval(pred_expr, Node(), bindings, ctx.function_env, new_Node, ctx);
continue;
}
else return v;
}
} break; } break;
case Node::return_directive: { case Node::return_directive: {
cerr << "blah" << endl;
return eval(stm[0], Node(), bindings, ctx.function_env, new_Node, ctx); return eval(stm[0], Node(), bindings, ctx.function_env, new_Node, ctx);
} 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