+
+ for(std::map<string, StructDeclaration *>::const_iterator i=stage.types.begin(); i!=stage.types.end(); ++i)
+ append(format("Type: %%%d %s", get_label(*i->second), i->first));
+
+ set<InterfaceBlock *> seen_interfaces;
+ for(std::map<string, InterfaceBlock *>::const_iterator i=stage.interface_blocks.begin(); i!=stage.interface_blocks.end(); ++i)
+ if(seen_interfaces.insert(i->second).second)
+ {
+ string text = format("Interface block: %%%d %s %s", get_label(*i->second), i->second->interface, i->second->name);
+ if(!i->second->instance_name.empty())
+ text += format(" %s", i->second->instance_name);
+ append(text);
+ }
+
+ for(std::map<string, FunctionDeclaration *>::const_iterator i=stage.functions.begin(); i!=stage.functions.end(); ++i)
+ append(format("Function: %%%d %s", get_label(*i->second), i->first));
+