forked from sass/libsass
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlistize.hpp
41 lines (28 loc) · 819 Bytes
/
listize.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
#ifndef SASS_LISTIZE_H
#define SASS_LISTIZE_H
#include <vector>
#include <iostream>
#include "ast.hpp"
#include "context.hpp"
#include "operation.hpp"
#include "environment.hpp"
namespace Sass {
using namespace std;
typedef Environment<AST_Node*> Env;
struct Backtrace;
class Listize : public Operation_CRTP<Expression*, Listize> {
Context& ctx;
Expression* fallback_impl(AST_Node* n);
public:
Listize(Context&);
virtual ~Listize() { }
using Operation<Expression*>::operator();
Expression* operator()(Selector_List*);
Expression* operator()(Complex_Selector*);
Expression* operator()(Compound_Selector*);
Expression* operator()(Selector_Reference*);
template <typename U>
Expression* fallback(U x) { return fallback_impl(x); }
};
}
#endif