diff --git a/alien.cc b/alien.cc
index 49d19fe5c9b06829bdc8deac3a688890da957b78..dc4f50920c7d61d30bec5744a7bba9e8ccacd018 100644 (file)
--- a/alien.cc
+++ b/alien.cc
return std::string("AlienPiece");
}
return std::string("AlienPiece");
}
-AlienPart::AlienPart(Store * const _store): store(_store) {}
+void AlienPiece::accept(Visitor &visitor) const {
+}
+
+AlienPart::AlienPart(Store * const store): d_store(store) {}
std::string AlienPart::toString() {
std::string AlienPart::toString() {
- if (store != 0)
- return store->toString();
+ if (d_store != 0)
+ return d_store->toString();
else
return "NULL";
}
else
return "NULL";
}
+void AlienPart::accept(Visitor &visitor) const {
+ if (d_store != 0) {
+ d_store->accept(visitor);
+ }
+}
+
Alien::Alien(INTEGER id, const TypePath &path): Store(id), d_path(path), d_comps() {}
std::vector<AlienComponent*> & Alien::getComponents() {
Alien::Alien(INTEGER id, const TypePath &path): Store(id), d_path(path), d_comps() {}
std::vector<AlienComponent*> & Alien::getComponents() {
return sofar + "}";
}
return sofar + "}";
}
+void Alien::accept(Visitor &visitor) const {
+ for (int i = 0; i < d_comps.size(); ++i) {
+ d_comps[i]->accept(visitor);
+ }
+}
+
}
}