1 | #ifndef SASS_AST2C_H |
---|---|
2 | #define SASS_AST2C_H |
3 | |
4 | #include "ast_fwd_decl.hpp" |
5 | #include "operation.hpp" |
6 | #include "sass/values.h" |
7 | |
8 | namespace Sass { |
9 | |
10 | class AST2C : public Operation_CRTP<union Sass_Value*, AST2C> { |
11 | |
12 | public: |
13 | |
14 | AST2C() { } |
15 | ~AST2C() { } |
16 | |
17 | union Sass_Value* operator()(Boolean*); |
18 | union Sass_Value* operator()(Number*); |
19 | union Sass_Value* operator()(Color_RGBA*); |
20 | union Sass_Value* operator()(Color_HSLA*); |
21 | union Sass_Value* operator()(String_Constant*); |
22 | union Sass_Value* operator()(String_Quoted*); |
23 | union Sass_Value* operator()(Custom_Warning*); |
24 | union Sass_Value* operator()(Custom_Error*); |
25 | union Sass_Value* operator()(List*); |
26 | union Sass_Value* operator()(Map*); |
27 | union Sass_Value* operator()(Null*); |
28 | union Sass_Value* operator()(Arguments*); |
29 | union Sass_Value* operator()(Argument*); |
30 | |
31 | // return sass error if type is not supported |
32 | union Sass_Value* fallback(AST_Node* x) |
33 | { return sass_make_error(msg: "unknown type for C-API"); } |
34 | |
35 | }; |
36 | |
37 | } |
38 | |
39 | #endif |
40 |