forked from sass/libsass
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontextualize_eval.hpp
44 lines (34 loc) · 1.21 KB
/
contextualize_eval.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef SASS_CONTEXTUALIZE_EVAL_H
#define SASS_CONTEXTUALIZE_EVAL_H
#include "eval.hpp"
#include "context.hpp"
#include "operation.hpp"
#include "environment.hpp"
#include "ast_fwd_decl.hpp"
namespace Sass {
struct Backtrace;
typedef Environment<AST_Node*> Env;
class Contextualize_Eval : public Contextualize {
Eval* eval;
Selector* fallback_impl(AST_Node* n);
public:
Contextualize_Eval(Context&, Eval*, Env*, Backtrace*);
virtual ~Contextualize_Eval();
Contextualize_Eval* with(Selector*, Env*, Backtrace*, Selector* placeholder = 0, Selector* extender = 0);
using Operation<Selector*>::operator();
Selector* operator()(Selector_Schema*);
Selector* operator()(Selector_List*);
Selector* operator()(Complex_Selector*);
Selector* operator()(Compound_Selector*);
Selector* operator()(Wrapped_Selector*);
Selector* operator()(Pseudo_Selector*);
Selector* operator()(Attribute_Selector*);
Selector* operator()(Selector_Qualifier*);
Selector* operator()(Type_Selector*);
Selector* operator()(Selector_Placeholder*);
Selector* operator()(Selector_Reference*);
template <typename U>
Selector* fallback(U x) { return fallback_impl(x); }
};
}
#endif