Skip to content

Commit f3d263d

Browse files
committed
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 0d70ddb commit f3d263d

File tree

4 files changed

+23
-14
lines changed

4 files changed

+23
-14
lines changed

src/ast_containers.hpp

Lines changed: 15 additions & 2 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);
@@ -370,14 +383,14 @@ namespace Sass {
370383
return elements_;
371384
}
372385

373-
sass::vector<K> keys() const {
386+
const sass::vector<K> keys() const {
374387
sass::vector<T> list;
375388
for (auto kv : elements_) {
376389
list.emplace_back(kv.first);
377390
}
378391
return list;
379392
}
380-
sass::vector<T> values() const {
393+
const sass::vector<T> values() const {
381394
sass::vector<T> list;
382395
for (auto kv : elements_) {
383396
list.emplace_back(kv.second);

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)