+
+ostream &Loader::Dump(ostream &out) const {
+ out << "loaded objects" << endl;
+ out << "==============" << endl;
+
+ out << objectFiles.size() << " object files" << endl;
+ for (std::map<string, char *>::const_iterator
+ i(objectFiles.begin()), end(objectFiles.end());
+ i != end; ++i) {
+ out << " - " << i->first << endl;
+ }
+
+ out << exports.size() << " exports" << endl;
+ for (std::map<string, LoadedExport>::const_iterator
+ i(exports.begin()), end(exports.end());
+ i != end; ++i) {
+ const TypeDescription &td = TypeDescription::Get(i->second.typeId);
+ out << " - " << td.TypeName() << ' ' << i->first << endl;
+ }
+
+ out << images.size() << " images" << endl;
+ for (std::map<string, SDL_Surface *>::const_iterator
+ i(images.begin()), end(images.end());
+ i != end; ++i) {
+ out << " - " << i->first << endl;
+ }
+
+ out << unlinked.size() << " missing objects" << endl;
+ for (std::vector<MissingExternal>::const_iterator
+ i(unlinked.begin()), end(unlinked.end());
+ i != end; ++i) {
+ const TypeDescription &td = TypeDescription::Get(
+ i->typeId);
+ out << " - " << td.TypeName() << ' ';
+ if (!i->inlined) {
+ out << '*';
+ }
+ out << i->identifier << endl;
+ }
+
+ return out;
+}
+