diff src/symtab.h @ 9581:3d0d2bda3a0f

fix previous change, avoid duplicate loads of methods in descendant classes
author Jaroslav Hajek <highegg@gmail.com>
date Thu, 27 Aug 2009 16:08:23 +0200
parents c5330ef7aecd
children 8d79f36ebdde
line wrap: on
line diff
--- a/src/symtab.h
+++ b/src/symtab.h
@@ -1787,6 +1787,12 @@
   static void stash_dir_name_for_subfunctions (scope_id scope,
 					       const std::string& dir_name);
 
+  static void add_to_parent_map (const std::string& classname,
+				 const std::list<std::string>& parent_list)
+  {
+    parent_map[classname] = parent_list;
+  }
+
 private:
 
   typedef std::map<std::string, symbol_record>::const_iterator table_const_iterator;
@@ -1834,6 +1840,12 @@
   typedef std::map<std::string, std::set<std::string> >::const_iterator class_precedence_table_const_iterator;
   typedef std::map<std::string, std::set<std::string> >::iterator class_precedence_table_iterator;
 
+  // Map from class names to parent class names.
+  static std::map<std::string, std::list<std::string> > parent_map;
+
+  typedef std::map<std::string, std::list<std::string> >::const_iterator const_parent_map_iterator;
+  typedef std::map<std::string, std::list<std::string> >::iterator parent_map_iterator;
+
   static const scope_id xglobal_scope;
   static const scope_id xtop_scope;