00001
00002
00003
00004
00005
00006
00007
00008 #ifndef lestes__md__instructions__pi_operand2ge_operand_g_hh__included
00009 #define lestes__md__instructions__pi_operand2ge_operand_g_hh__included
00010
00011 #include <lestes/md/common.hh>
00012 #include <lestes/md/instructions/pi_operand2ge_operand_base.g.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(md);
00023 package(instructions);
00024
00025
00026 class pi_operand2ge_operand;
00027
00028
00029 class pi_operand2ge_operand : public pi_operand2ge_operand_base {
00030 public:
00031 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_preg(ptr< ::lestes::backend_v2::intercode::pi_preg > );
00032
00033 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_lit(ptr< ::lestes::backend_v2::intercode::pi_lit > );
00034
00035 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_mem_decl(ptr< ::lestes::backend_v2::intercode::pi_mem_decl > );
00036
00037 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_mem_lit(ptr< ::lestes::backend_v2::intercode::pi_mem_lit > );
00038
00039 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_mem_member(ptr< ::lestes::backend_v2::intercode::pi_mem_member > );
00040
00041 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_mem_stack(ptr< ::lestes::backend_v2::intercode::pi_mem_stack > );
00042
00043 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_mem_preg(ptr< ::lestes::backend_v2::intercode::pi_mem_preg > );
00044
00045 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_mem_temp(ptr< ::lestes::backend_v2::intercode::pi_mem_temp > );
00046
00047 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_mem_ptr_deref(ptr< ::lestes::backend_v2::intercode::pi_mem_ptr_deref > );
00048
00049
00050
00051 static ptr< pi_operand2ge_operand > create (
00052 ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_operand >, srp< ::lestes::backend_v2::intercode::ge_operand > > > a__pi_operand2ge_operand_base__pi_op2ge_op);
00053
00054
00055 static ptr< pi_operand2ge_operand > create (
00056 );
00057
00058
00059
00060
00061 virtual ptr<reflection_list> reflection_get() const;
00062
00063 virtual ptr<field_list_list> field_values_get() const;
00064
00065 protected:
00066
00067 pi_operand2ge_operand (
00068 ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_operand >, srp< ::lestes::backend_v2::intercode::ge_operand > > > a__pi_operand2ge_operand_base__pi_op2ge_op);
00069
00070
00071 virtual void gc_mark();
00072
00073 private:
00074 static ptr<reflection_list> reflection;
00075
00076 };
00077
00078
00079 end_package(instructions);
00080 end_package(md);
00081 end_package(lestes);
00082
00083 #endif // lestes__md__instructions__pi_operand2ge_operand_g_hh__included