Skip to content

Commit 38f3fd9

Browse files
committed
Test next small change
Good now! Next CI try Hmm, no move here!? And via move assign Move more Move again Damn Revert offender Try this Bdaba Reveal CI Try some more advanced Move to 43 Another CI 2 Now this CI Another CI check Next ttry And more Revert if it works 1 More steps Try again
1 parent c54abcd commit 38f3fd9

File tree

4 files changed

+21
-12
lines changed

4 files changed

+21
-12
lines changed

src/ast_containers.hpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ namespace Sass {
5555
// Some simple method delegations
5656
void clear() { return elements_.clear(); }
5757
size_t size() const { return elements_.size(); }
58+
void reserve(size_t n) { return elements_.reserve(n); }
5859
bool empty() const { return elements_.empty(); }
5960
const T& at(size_t i) const { return elements_.at(i); }
6061
const T& get(size_t i) const { return elements_[i]; }
@@ -210,6 +211,18 @@ namespace Sass {
210211
return false;
211212
}
212213

214+
// This might be better implemented as `operator=`?
215+
void elementsN(const sass::vector<T>& e)
216+
{
217+
elements_ = e;
218+
}
219+
220+
// This might be better implemented as `operator=`?
221+
void elementsM(sass::vector<T>&& e)
222+
{
223+
elements_ = std::move(e);
224+
}
225+
213226
template <typename P>
214227
typename sass::vector<T>::iterator insert(P position, const T& val) {
215228
return elements_.insert(position, val);

src/ast_selectors.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -587,7 +587,7 @@ namespace Sass {
587587
{
588588
ListObj list = SASS_MEMORY_NEW(List,
589589
pstate(), {}, SASS_COMMA);
590-
// list->reserve(size());
590+
list->reserve(size());
591591
for (ComplexSelector* complex : elements()) {
592592
list->append(complex->toList());
593593
}
@@ -662,7 +662,7 @@ namespace Sass {
662662
}
663663
// Reset the parent selector tail with
664664
// the combination of parent plus ourself
665-
complex->elements43().back() = tail;
665+
complex->set_last(tail);
666666
// Append to results
667667
rv.emplace_back(complex);
668668
}

src/extender.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,8 @@ namespace Sass {
191191

192192
SelectorListObj res = extendList(selector, extensions, mediaContext);
193193

194-
if (res) *selector = std::move(*res);
194+
selector->elementsN(res->elements43());
195+
// *selector = std::move(*res); // no move please
195196

196197
}
197198

@@ -400,7 +401,7 @@ namespace Sass {
400401
// If no extends actually happened (for example because unification
401402
// failed), we don't need to re-register the selector.
402403
if (ObjEqualityFn(oldValue, ext)) continue;
403-
*rule = std::move(*ext);
404+
rule->elementsM(std::move(ext->elements43()));
404405
registerSelector(rule, rule);
405406

406407
}

src/remove_placeholders.cpp

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ namespace Sass {
3838
if (compound) remove_placeholders(compound);
3939
}
4040
}
41-
// ToDO: upgrade to new method
42-
// listEraseItemIf(complex->elements(), listIsEmpty<SelectorComponent>);
43-
41+
listEraseItemIf(complex->elements43(), listIsEmpty<SelectorComponent>);
4442
// ToDo: describe what this means
4543
if (complex->hasInvisible()) {
4644
complex->clear(); // remove all
@@ -52,18 +50,15 @@ namespace Sass {
5250
for(const ComplexSelectorObj& complex : sl->elements()) {
5351
if (complex) remove_placeholders(complex);
5452
}
55-
56-
// ToDO: upgrade to new method
57-
// listEraseItemIf(sl->elements(), listIsEmpty<ComplexSelector>);
53+
listEraseItemIf(sl->elements43(), listIsEmpty<ComplexSelector>);
5854
}
5955

6056
void RemovePlaceholders::visitCssRoot(CssRoot* b)
6157
{
6258
// Clean up all our children
6359
acceptCssParentNode(b);
6460
// Remove all invisible items
65-
// ToDO: upgrade to new method
66-
// listEraseItemIf(b->elements(), isInvisibleCss); // QQQQQQQQQQQQHHHHHH
61+
listEraseItemIf(b->elements43(), isInvisibleCss); // QQQQQQQQQQQQHHHHHH
6762
}
6863

6964
void RemovePlaceholders::visitCssStyleRule(CssStyleRule* rule)

0 commit comments

Comments
 (0)