symbol_register_base.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Symbol register.
00006         \author jaz
00007 */
00008 
00009 #ifndef lestes__md__symbols__symbol_register_base_g_hh__included
00010 #define lestes__md__symbols__symbol_register_base_g_hh__included
00011 
00012 #include <lestes/md/common.hh>
00013 
00014 #include <lestes/std/objectize_macros.hh>
00015 package(lestes);
00016 package(std);
00017 class object;
00018 end_package(std);
00019 end_package(lestes);
00020 
00021 package(lestes);
00022 package(lang);
00023 package(cplus);
00024 package(sem);
00025 class ss_declaration;
00026 end_package(sem);
00027 end_package(cplus);
00028 end_package(lang);
00029 end_package(lestes);
00030 
00031 package(lestes);
00032 package(md);
00033 package(symbols);
00034 
00035 
00036 class symbol_register_base;
00037 
00038 
00039 /*! \brief Register of symbols.
00040 
00041 Holds list of global symbols (functions, variables) defined within translation unit.
00042 Global asm symbol declarations are generated from it during asm code generation phase.
00043 
00044 Note: A concrete implementation is target machine-dependent and it is placed in /target/machine/${TARGET_CPU}/lestes/md/symbols/ directory.
00045                         
00046 */
00047 class symbol_register_base : public ::lestes::std::object {
00048 public:
00049         //! Registers a symbol.
00050         virtual void register_symbol(ptr< ::lestes::lang::cplus::sem::ss_declaration > symbol) abstract;
00051 
00052         
00053 
00054         //! for purposes of dumping
00055         virtual ptr<reflection_list> reflection_get() const;
00056         //! for purposes of dumping
00057         virtual ptr<field_list_list> field_values_get() const;
00058         
00059 protected:
00060         //! Generated constructor for class symbol_register_base.
00061         symbol_register_base (
00062                 );
00063 
00064         //! Marking routine for class symbol_register_base. 
00065         virtual void gc_mark();
00066 
00067 private:
00068         static ptr<reflection_list> reflection;
00069         
00070 }; // symbol_register_base
00071 
00072 
00073 end_package(symbols);
00074 end_package(md);
00075 end_package(lestes);
00076 
00077 #endif // lestes__md__symbols__symbol_register_base_g_hh__included

Generated on Mon Feb 12 18:27:09 2007 for lestes by doxygen 1.5.1-20070107