void InstantiationVisitor::visit(SwitchStmt& s) { std::vector<SwitchEntry> entries; for (auto& entry : s.entries()) { std::vector<SwitchLabel> labels; for (auto& label : entry.labels()) { if (label.expr()) labels.emplace_back(label.sloc(), clone(*label.expr())); else labels.emplace_back(label.sloc(), nullptr); } entries.emplace_back(std::move(labels), clone(entry.statement())); } _stmt.reset(new SwitchStmt(s.sloc(), clone(s.expr()), std::move(entries))); }