literal_loader.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 #ifndef lestes__md__literals__literal_loader_g_hh__included
00004 #define lestes__md__literals__literal_loader_g_hh__included
00005 
00006 #include <lestes/std/map.hh>
00007 #include <lestes/md/common.hh>
00008 #include <lestes/md/literals/literal_loader_base.g.hh>
00009 
00010 #include <lestes/std/objectize_macros.hh>
00011 package(lestes);
00012 package(std);
00013 class object;
00014 end_package(std);
00015 end_package(lestes);
00016 
00017 package(lestes);
00018 package(backend_v2);
00019 package(intercode);
00020 class pi_lit;
00021 end_package(intercode);
00022 end_package(backend_v2);
00023 end_package(lestes);
00024 
00025 package(lestes);
00026 package(backend_v2);
00027 package(intercode);
00028 class pi_pi;
00029 end_package(intercode);
00030 end_package(backend_v2);
00031 end_package(lestes);
00032 
00033 package(lestes);
00034 package(backend_v2);
00035 package(intercode);
00036 class pi_sp;
00037 end_package(intercode);
00038 end_package(backend_v2);
00039 end_package(lestes);
00040 
00041 package(lestes);
00042 package(backend_v2);
00043 package(intercode);
00044 class pi_preg;
00045 end_package(intercode);
00046 end_package(backend_v2);
00047 end_package(lestes);
00048 
00049 package(lestes);
00050 package(md);
00051 package(literals);
00052 
00053 
00054 class literal_loader;
00055 
00056 
00057 class literal_loader : public literal_loader_base {
00058 public:
00059         //! The method managed_literals_get returns the value of the field literal_loader::managed_literals.
00060         ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_lit >, ulint > > managed_literals_get() const;
00061 
00062         //! The method managed_literals_set sets the field literal_loader::managed_literals to the given value.
00063         void managed_literals_set(const ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_lit >, ulint > > & );
00064 
00065         //! The method singleton_instance_get returns the value of the field literal_loader::singleton_instance.
00066         static ptr< literal_loader > singleton_instance_get();
00067 
00068         //! The method singleton_instance_set sets the field literal_loader::singleton_instance to the given value.
00069         static void singleton_instance_set(const ptr< literal_loader > &);
00070 
00071         //! Generates list of pseudoinstructions that loads literal to a pseudoregister.
00072         virtual ptr<list<srp< ::lestes::backend_v2::intercode::pi_pi> > > generate_load(ptr< ::lestes::backend_v2::intercode::pi_preg > preg, ptr< ::lestes::backend_v2::intercode::pi_lit > lit, ptr< ::lestes::backend_v2::intercode::pi_sp > psp, ptr< ::lestes::backend_v2::intercode::pi_sp > nsp);
00073 
00074         //! Emits declarations for managed literals to a stream.
00075         void emit_global_declarations(::std::ostream& output);
00076 
00077         //! Tells whether a literal is managed.
00078         bool is_managed(ptr< ::lestes::backend_v2::intercode::pi_lit > lit);
00079 
00080         //! Returns id of managed literal.
00081         lstring get_id_for_managed_literal(ptr< ::lestes::backend_v2::intercode::pi_lit > lit);
00082 
00083         static ptr< literal_loader > instance();
00084 
00085         
00086         //! First generated factory method for class literal_loader.
00087         static ptr< literal_loader > create (
00088                 ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_lit >, ulint > > a__literal_loader__managed_literals);
00089 
00090         //! Second generated factory method for class literal_loader.
00091         static ptr< literal_loader > create (
00092                 );
00093 
00094         
00095 
00096         //! for purposes of dumping
00097         virtual ptr<reflection_list> reflection_get() const;
00098         //! for purposes of dumping
00099         virtual ptr<field_list_list> field_values_get() const;
00100         
00101 protected:
00102         //! Generated constructor for class literal_loader.
00103         literal_loader (
00104                 ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_lit >, ulint > > a__literal_loader__managed_literals);
00105 
00106         //! Marking routine for class literal_loader. 
00107         virtual void gc_mark();
00108 
00109 private:
00110         //! Registered literals.
00111         srp< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_lit >, ulint > >  managed_literals;
00112         static ptr< literal_loader > singleton_instance;
00113         static ptr<reflection_list> reflection;
00114         
00115 }; // literal_loader
00116 
00117 
00118 end_package(literals);
00119 end_package(md);
00120 end_package(lestes);
00121 
00122 #endif // lestes__md__literals__literal_loader_g_hh__included

Generated on Mon Feb 12 18:22:38 2007 for lestes by doxygen 1.5.1-20070107