@@ -342,7 +342,12 @@ inline void debug_ast(AST_Node* node, string ind = "", Env* env = 0)
342
342
Definition* block = dynamic_cast <Definition*>(node);
343
343
cerr << ind << " Definition " << block;
344
344
cerr << " (" << pstate_source_position (node) << " )" ;
345
+ cerr << " [name: " << block->name () << " ] " ;
346
+ cerr << " [type: " << (block->type () == Sass::Definition::Type::MIXIN ? " Mixin " : " Function " ) << " ] " ;
347
+ cerr << " [signature: " << block->signature () << " ] " ;
348
+ cerr << " [native: " << block->native_function () << " ] " ;
345
349
cerr << " " << block->tabs () << endl;
350
+ debug_ast (block->parameters (), ind + " params: " , env);
346
351
if (block->block ()) for (auto i : block->block ()->elements ()) { debug_ast (i, ind + " " , env); }
347
352
} else if (dynamic_cast <Mixin_Call*>(node)) {
348
353
Mixin_Call* block = dynamic_cast <Mixin_Call*>(node);
@@ -399,8 +404,26 @@ inline void debug_ast(AST_Node* node, string ind = "", Env* env = 0)
399
404
Argument* expression = dynamic_cast <Argument*>(node);
400
405
cerr << ind << " Argument " << expression;
401
406
cerr << " (" << pstate_source_position (node) << " )" ;
402
- cerr << " [" << expression->value () << " ]" << endl;
407
+ cerr << " [" << expression->value () << " ]" ;
408
+ cerr << " [name: " << expression->name () << " ] " ;
409
+ cerr << " [rest: " << expression->is_rest_argument () << " ] " ;
410
+ cerr << " [keyword: " << expression->is_keyword_argument () << " ] " << endl;
403
411
debug_ast (expression->value (), ind + " value: " , env);
412
+ } else if (dynamic_cast <Parameters*>(node)) {
413
+ Parameters* expression = dynamic_cast <Parameters*>(node);
414
+ cerr << ind << " Parameters " << expression;
415
+ cerr << " (" << pstate_source_position (node) << " )" ;
416
+ cerr << " [has_optional: " << expression->has_optional_parameters () << " ] " ;
417
+ cerr << " [has_rest: " << expression->has_rest_parameter () << " ] " ;
418
+ cerr << endl;
419
+ for (auto i : expression->elements ()) { debug_ast (i, ind + " " , env); }
420
+ } else if (dynamic_cast <Parameter*>(node)) {
421
+ Parameter* expression = dynamic_cast <Parameter*>(node);
422
+ cerr << ind << " Parameter " << expression;
423
+ cerr << " (" << pstate_source_position (node) << " )" ;
424
+ cerr << " [name: " << expression->name () << " ] " ;
425
+ cerr << " [default: " << expression->default_value () << " ] " ;
426
+ cerr << " [rest: " << expression->is_rest_parameter () << " ] " << endl;
404
427
} else if (dynamic_cast <Unary_Expression*>(node)) {
405
428
Unary_Expression* expression = dynamic_cast <Unary_Expression*>(node);
406
429
cerr << ind << " Unary_Expression " << expression;
@@ -427,6 +450,7 @@ inline void debug_ast(AST_Node* node, string ind = "", Env* env = 0)
427
450
(expression->separator () == Sass::List::Separator::COMMA ? " Comma " : " Space " ) <<
428
451
" [delayed: " << expression->is_delayed () << " ] " <<
429
452
" [interpolant: " << expression->is_interpolant () << " ] " <<
453
+ " [arglist: " << expression->is_arglist () << " ] " <<
430
454
endl;
431
455
for (auto i : expression->elements ()) { debug_ast (i, ind + " " , env); }
432
456
} else if (dynamic_cast <Content*>(node)) {
0 commit comments