1 | #ifndef SASS_LISTIZE_H |
---|---|
2 | #define SASS_LISTIZE_H |
3 | |
4 | // sass.hpp must go before all system headers to get the |
5 | // __EXTENSIONS__ fix on Solaris. |
6 | #include "sass.hpp" |
7 | |
8 | #include "ast_fwd_decl.hpp" |
9 | #include "operation.hpp" |
10 | |
11 | namespace Sass { |
12 | |
13 | struct Backtrace; |
14 | |
15 | class Listize : public Operation_CRTP<Expression*, Listize> { |
16 | |
17 | public: |
18 | |
19 | static Expression* perform(AST_Node* node); |
20 | |
21 | public: |
22 | Listize(); |
23 | ~Listize() { } |
24 | |
25 | Expression* operator()(SelectorList*); |
26 | Expression* operator()(ComplexSelector*); |
27 | Expression* operator()(CompoundSelector*); |
28 | |
29 | // generic fallback |
30 | template <typename U> |
31 | Expression* fallback(U x) |
32 | { return Cast<Expression>(x); } |
33 | }; |
34 | |
35 | } |
36 | |
37 | #endif |
38 |