Skip to content

Commit

Permalink
DRY up cssize visitor
Browse files Browse the repository at this point in the history
  • Loading branch information
xzyfer committed Jan 5, 2015
1 parent 1f734a5 commit f649e4b
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 15 deletions.
22 changes: 8 additions & 14 deletions cssize.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -179,9 +179,9 @@ namespace Sass {
return results;
}

Statement* Cssize::debubble(Block* children, Media_Block* parent)
Statement* Cssize::debubble(Block* children, Statement* parent)
{
Media_Block* previous_parent = 0;
Statement* previous_parent = 0;
vector<pair<bool, Block*>> baz = slice_by_bubble(children);
Block* result = new (ctx.mem) Block(children->path(), children->position());

Expand All @@ -197,18 +197,11 @@ namespace Sass {
*previous_parent->block() += slice;
}
else {
previous_parent = new (ctx.mem) Media_Block(parent->path(),
parent->position(),
parent->media_queries(),
parent->block(),
parent->selector());
Has_Block* previous_parent = static_cast<Has_Block*>(parent);
previous_parent->tabs(parent->tabs());

Media_Block* new_parent = new (ctx.mem) Media_Block(parent->path(),
parent->position(),
parent->media_queries(),
slice,
parent->selector());
Has_Block* new_parent = static_cast<Has_Block*>(parent);
new_parent->block(slice);
new_parent->tabs(parent->tabs());

*result << new_parent;
Expand All @@ -227,14 +220,15 @@ namespace Sass {
Bubble* b = static_cast<Bubble*>((*slice)[j]);

if (!parent ||
parent->statement_type() != Statement::MEDIA ||
b->node()->statement_type() != Statement::MEDIA ||
static_cast<Media_Block*>(b->node())->media_queries() == parent->media_queries())
static_cast<Media_Block*>(b->node())->media_queries() == static_cast<Media_Block*>(parent)->media_queries())
{
ss = b->node();
}
else
{
List* mq = merge_media_queries(static_cast<Media_Block*>(b->node()), parent);
List* mq = merge_media_queries(static_cast<Media_Block*>(b->node()), static_cast<Media_Block*>(parent));
static_cast<Media_Block*>(b->node())->media_queries(mq);
ss = b->node();
}
Expand Down
2 changes: 1 addition & 1 deletion cssize.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ namespace Sass {
Statement* parent();
vector<pair<bool, Block*>> slice_by_bubble(Statement*);
Statement* bubble(Media_Block*);
Statement* debubble(Block* children, Media_Block* parent = 0);
Statement* debubble(Block* children, Statement* parent = 0);
Statement* flatten(Statement*);
bool bubblable(Statement*);

Expand Down

0 comments on commit f649e4b

Please sign in to comment.