|
17 | 17 | #include "position.hpp"
|
18 | 18 | #include "sass/values.h"
|
19 | 19 | #include "to_value.hpp"
|
20 |
| -#include "to_c.hpp" |
| 20 | +#include "ast2c.hpp" |
| 21 | +#include "c2ast.hpp" |
21 | 22 | #include "context.hpp"
|
22 | 23 | #include "backtrace.hpp"
|
23 | 24 | #include "lexer.hpp"
|
@@ -333,9 +334,9 @@ namespace Sass {
|
333 | 334 | Sass_Function_Entry c_function = def->c_function();
|
334 | 335 | Sass_Function_Fn c_func = sass_function_get_function(c_function);
|
335 | 336 |
|
336 |
| - To_C to_c; |
| 337 | + AST2C ast2c; |
337 | 338 | union Sass_Value* c_args = sass_make_list(1, SASS_COMMA, false);
|
338 |
| - sass_list_set_value(c_args, 0, message->perform(&to_c)); |
| 339 | + sass_list_set_value(c_args, 0, message->perform(&ast2c)); |
339 | 340 | union Sass_Value* c_val = c_func(c_args, c_function, ctx.c_compiler);
|
340 | 341 | ctx.c_options.output_style = outstyle;
|
341 | 342 | ctx.callee_stack.pop_back();
|
@@ -381,9 +382,9 @@ namespace Sass {
|
381 | 382 | Sass_Function_Entry c_function = def->c_function();
|
382 | 383 | Sass_Function_Fn c_func = sass_function_get_function(c_function);
|
383 | 384 |
|
384 |
| - To_C to_c; |
| 385 | + AST2C ast2c; |
385 | 386 | union Sass_Value* c_args = sass_make_list(1, SASS_COMMA, false);
|
386 |
| - sass_list_set_value(c_args, 0, message->perform(&to_c)); |
| 387 | + sass_list_set_value(c_args, 0, message->perform(&ast2c)); |
387 | 388 | union Sass_Value* c_val = c_func(c_args, c_function, ctx.c_compiler);
|
388 | 389 | ctx.c_options.output_style = outstyle;
|
389 | 390 | ctx.callee_stack.pop_back();
|
@@ -425,9 +426,9 @@ namespace Sass {
|
425 | 426 | Sass_Function_Entry c_function = def->c_function();
|
426 | 427 | Sass_Function_Fn c_func = sass_function_get_function(c_function);
|
427 | 428 |
|
428 |
| - To_C to_c; |
| 429 | + AST2C ast2c; |
429 | 430 | union Sass_Value* c_args = sass_make_list(1, SASS_COMMA, false);
|
430 |
| - sass_list_set_value(c_args, 0, message->perform(&to_c)); |
| 431 | + sass_list_set_value(c_args, 0, message->perform(&ast2c)); |
431 | 432 | union Sass_Value* c_val = c_func(c_args, c_function, ctx.c_compiler);
|
432 | 433 | ctx.c_options.output_style = outstyle;
|
433 | 434 | ctx.callee_stack.pop_back();
|
@@ -1054,22 +1055,22 @@ namespace Sass {
|
1054 | 1055 | { env }
|
1055 | 1056 | });
|
1056 | 1057 |
|
1057 |
| - To_C to_c; |
| 1058 | + AST2C ast2c; |
1058 | 1059 | union Sass_Value* c_args = sass_make_list(params->length(), SASS_COMMA, false);
|
1059 | 1060 | for(size_t i = 0; i < params->length(); i++) {
|
1060 | 1061 | Parameter_Obj param = params->at(i);
|
1061 | 1062 | std::string key = param->name();
|
1062 | 1063 | AST_Node_Obj node = fn_env.get_local(key);
|
1063 | 1064 | Expression_Obj arg = Cast<Expression>(node);
|
1064 |
| - sass_list_set_value(c_args, i, arg->perform(&to_c)); |
| 1065 | + sass_list_set_value(c_args, i, arg->perform(&ast2c)); |
1065 | 1066 | }
|
1066 | 1067 | union Sass_Value* c_val = c_func(c_args, c_function, ctx.c_compiler);
|
1067 | 1068 | if (sass_value_get_tag(c_val) == SASS_ERROR) {
|
1068 | 1069 | error("error in C function " + c->name() + ": " + sass_error_get_message(c_val), c->pstate(), traces);
|
1069 | 1070 | } else if (sass_value_get_tag(c_val) == SASS_WARNING) {
|
1070 | 1071 | error("warning in C function " + c->name() + ": " + sass_warning_get_message(c_val), c->pstate(), traces);
|
1071 | 1072 | }
|
1072 |
| - result = cval_to_astnode(c_val, traces, c->pstate()); |
| 1073 | + result = c2ast(c_val, traces, c->pstate()); |
1073 | 1074 |
|
1074 | 1075 | ctx.callee_stack.pop_back();
|
1075 | 1076 | traces.pop_back();
|
@@ -1467,61 +1468,6 @@ namespace Sass {
|
1467 | 1468 | return 0;
|
1468 | 1469 | }
|
1469 | 1470 |
|
1470 |
| - // All the binary helpers. |
1471 |
| - |
1472 |
| - Expression_Ptr cval_to_astnode(union Sass_Value* v, Backtraces traces, ParserState pstate) |
1473 |
| - { |
1474 |
| - using std::strlen; |
1475 |
| - using std::strcpy; |
1476 |
| - Expression_Ptr e = NULL; |
1477 |
| - switch (sass_value_get_tag(v)) { |
1478 |
| - case SASS_BOOLEAN: { |
1479 |
| - e = SASS_MEMORY_NEW(Boolean, pstate, !!sass_boolean_get_value(v)); |
1480 |
| - } break; |
1481 |
| - case SASS_NUMBER: { |
1482 |
| - e = SASS_MEMORY_NEW(Number, pstate, sass_number_get_value(v), sass_number_get_unit(v)); |
1483 |
| - } break; |
1484 |
| - case SASS_COLOR: { |
1485 |
| - e = SASS_MEMORY_NEW(Color, pstate, sass_color_get_r(v), sass_color_get_g(v), sass_color_get_b(v), sass_color_get_a(v)); |
1486 |
| - } break; |
1487 |
| - case SASS_STRING: { |
1488 |
| - if (sass_string_is_quoted(v)) |
1489 |
| - e = SASS_MEMORY_NEW(String_Quoted, pstate, sass_string_get_value(v)); |
1490 |
| - else { |
1491 |
| - e = SASS_MEMORY_NEW(String_Constant, pstate, sass_string_get_value(v)); |
1492 |
| - } |
1493 |
| - } break; |
1494 |
| - case SASS_LIST: { |
1495 |
| - List_Ptr l = SASS_MEMORY_NEW(List, pstate, sass_list_get_length(v), sass_list_get_separator(v)); |
1496 |
| - for (size_t i = 0, L = sass_list_get_length(v); i < L; ++i) { |
1497 |
| - l->append(cval_to_astnode(sass_list_get_value(v, i), traces, pstate)); |
1498 |
| - } |
1499 |
| - l->is_bracketed(sass_list_get_is_bracketed(v)); |
1500 |
| - e = l; |
1501 |
| - } break; |
1502 |
| - case SASS_MAP: { |
1503 |
| - Map_Ptr m = SASS_MEMORY_NEW(Map, pstate); |
1504 |
| - for (size_t i = 0, L = sass_map_get_length(v); i < L; ++i) { |
1505 |
| - *m << std::make_pair( |
1506 |
| - cval_to_astnode(sass_map_get_key(v, i), traces, pstate), |
1507 |
| - cval_to_astnode(sass_map_get_value(v, i), traces, pstate)); |
1508 |
| - } |
1509 |
| - e = m; |
1510 |
| - } break; |
1511 |
| - case SASS_NULL: { |
1512 |
| - e = SASS_MEMORY_NEW(Null, pstate); |
1513 |
| - } break; |
1514 |
| - case SASS_ERROR: { |
1515 |
| - error("Error in C function: " + std::string(sass_error_get_message(v)), pstate, traces); |
1516 |
| - } break; |
1517 |
| - case SASS_WARNING: { |
1518 |
| - error("Warning in C function: " + std::string(sass_warning_get_message(v)), pstate, traces); |
1519 |
| - } break; |
1520 |
| - default: break; |
1521 |
| - } |
1522 |
| - return e; |
1523 |
| - } |
1524 |
| - |
1525 | 1471 | Selector_List_Ptr Eval::operator()(Selector_List_Ptr s)
|
1526 | 1472 | {
|
1527 | 1473 | SelectorStack rv;
|
|
0 commit comments