ext/libsass/eval.hpp in sassc-0.0.10 vs ext/libsass/eval.hpp in sassc-0.0.11

- old
+ new

@@ -5,30 +5,37 @@ #include "context.hpp" #include "position.hpp" #include "operation.hpp" #include "environment.hpp" +#include "contextualize.hpp" +#include "listize.hpp" #include "sass_values.h" namespace Sass { using namespace std; typedef Environment<AST_Node*> Env; struct Backtrace; + class Contextualize; + class Listize; class Eval : public Operation_CRTP<Expression*, Eval> { Context& ctx; Expression* fallback_impl(AST_Node* n); public: + Contextualize* contextualize; + Listize* listize; Env* env; Backtrace* backtrace; - Eval(Context&, Env*, Backtrace*); + Eval(Context&, Contextualize*, Listize*, Env*, Backtrace*); virtual ~Eval(); Eval* with(Env* e, Backtrace* bt); // for setting the env before eval'ing an expression + Eval* with(Selector* c, Env* e, Backtrace* bt, Selector* placeholder = 0, Selector* extender = 0); // for setting the env before eval'ing an expression using Operation<Expression*>::operator(); // for evaluating function bodies Expression* operator()(Block*); Expression* operator()(Assignment*); @@ -60,9 +67,10 @@ Expression* operator()(Feature_Query_Condition*); Expression* operator()(Null*); Expression* operator()(Argument*); Expression* operator()(Arguments*); Expression* operator()(Comment*); + Expression* operator()(Parent_Selector* p); template <typename U> Expression* fallback(U x) { return fallback_impl(x); } private: