- const std::map<std::string, Declaration *> Declarations() const { return declarations; }
- const std::set<std::string> Exports() const { return exports; }
+ bool IsDeclared(const std::string &) const;
+ Declaration &GetDeclaration(const std::string &);
+ const Declaration &GetDeclaration(const std::string &) const;
+ bool IsDefined(const std::string &) const;
+ Definition &GetDefinition(const std::string &);
+ const Definition &GetDefinition(const std::string &) const;
+
+ const std::map<std::string, Declaration *> &Declarations() const { return declarations; }
+ const std::map<std::string, Definition *> &Definitions() const { return definitions; }
+ const std::set<std::string> &Exports() const { return exports; }
+
+public:
+ void WriteHeader(std::ostream &) const;