00001
00002
00003
00004
00005
00006
00007
00008 #ifndef lestes__md__functions__preasmgen_body_changes_g_hh__included
00009 #define lestes__md__functions__preasmgen_body_changes_g_hh__included
00010
00011 #include <lestes/std/map.hh>
00012 #include <lestes/md/common.hh>
00013 #include <lestes/md/functions/preasmgen_body_changes_base.g.hh>
00014
00015 #include <lestes/std/objectize_macros.hh>
00016 package(lestes);
00017 package(std);
00018 class object;
00019 end_package(std);
00020 end_package(lestes);
00021
00022 package(lestes);
00023 package(lang);
00024 package(cplus);
00025 package(sem);
00026 class ss_function_declaration;
00027 end_package(sem);
00028 end_package(cplus);
00029 end_package(lang);
00030 end_package(lestes);
00031
00032 package(lestes);
00033 package(backend_v2);
00034 package(intercode);
00035 class ge_pi;
00036 end_package(intercode);
00037 end_package(backend_v2);
00038 end_package(lestes);
00039
00040 package(lestes);
00041 package(md);
00042 package(functions);
00043
00044
00045 class preasmgen_body_changes;
00046
00047
00048 class preasmgen_body_changes : public preasmgen_body_changes_base {
00049 public:
00050 virtual void process_body();
00051
00052 virtual ptr<list<srp< ::lestes::backend_v2::intercode::ge_pi > > > get_result();
00053
00054
00055
00056 static ptr< preasmgen_body_changes > create (
00057 ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__preasmgen_body_changes_base__function,
00058 ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__preasmgen_body_changes_base__body);
00059
00060
00061 static ptr< preasmgen_body_changes > create (
00062 ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__preasmgen_body_changes_base__function);
00063
00064
00065
00066
00067 virtual ptr<reflection_list> reflection_get() const;
00068
00069 virtual ptr<field_list_list> field_values_get() const;
00070
00071 protected:
00072
00073 preasmgen_body_changes (
00074 ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__preasmgen_body_changes_base__function,
00075 ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__preasmgen_body_changes_base__body);
00076
00077
00078 virtual void gc_mark();
00079
00080 private:
00081 static ptr<reflection_list> reflection;
00082
00083 };
00084
00085
00086 end_package(functions);
00087 end_package(md);
00088 end_package(lestes);
00089
00090 #endif // lestes__md__functions__preasmgen_body_changes_g_hh__included