mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-12-31 21:59:07 +03:00
Merge branch 'develop' into wip-cppcheck271-part2
This commit is contained in:
@@ -82,7 +82,7 @@ Component *ComponentSequence::accept(ComponentVisitor &v) {
|
||||
}
|
||||
|
||||
for (auto i = children.begin(), e = children.end(); i != e; ++i) {
|
||||
Component *child = i->get();
|
||||
const Component *child = i->get();
|
||||
c = (*i)->accept(v);
|
||||
if (c != child) {
|
||||
// Child has been replaced (new Component pointer) or we've been
|
||||
@@ -157,10 +157,10 @@ void ComponentSequence::finalize() {
|
||||
}
|
||||
|
||||
vector<PositionInfo> ComponentSequence::first() const {
|
||||
vector<PositionInfo> firsts, subfirsts;
|
||||
vector<PositionInfo> firsts;
|
||||
|
||||
for (const auto &c : children) {
|
||||
subfirsts = c->first();
|
||||
vector<PositionInfo> subfirsts = c->first();
|
||||
replaceEpsilons(firsts, subfirsts);
|
||||
if (!c->empty()) {
|
||||
break;
|
||||
@@ -229,12 +229,12 @@ void applyEpsilonVisits(vector<PositionInfo> &lasts,
|
||||
}
|
||||
|
||||
vector<PositionInfo> ComponentSequence::last() const {
|
||||
vector<PositionInfo> lasts, sublasts;
|
||||
vector<PositionInfo> lasts;
|
||||
vector<eps_info> visits(1);
|
||||
|
||||
auto i = children.rbegin(), e = children.rend();
|
||||
for (; i != e; ++i) {
|
||||
sublasts = (*i)->last();
|
||||
vector<PositionInfo> sublasts = (*i)->last();
|
||||
applyEpsilonVisits(sublasts, visits);
|
||||
lasts.insert(lasts.end(), sublasts.begin(), sublasts.end());
|
||||
if ((*i)->empty()) {
|
||||
|
||||
Reference in New Issue
Block a user