00001
00002
00003
00004
00005
00006
00007
00008 #ifndef lestes__backend_v2__intercode__visitor_ge_operand2asm_g_hh__included
00009 #define lestes__backend_v2__intercode__visitor_ge_operand2asm_g_hh__included
00010
00011 #include <lestes/backend_v2/common.hh>
00012 #include <lestes/backend_v2/intercode/ge_visitor_bases.v.g.hh>
00013
00014 #include <lestes/std/objectize_macros.hh>
00015 package(lestes);
00016 package(backend_v2);
00017 package(intercode);
00018 class ge_pi;
00019 end_package(intercode);
00020 end_package(backend_v2);
00021 end_package(lestes);
00022
00023 package(lestes);
00024 package(backend_v2);
00025 package(intercode);
00026
00027
00028 class visitor_ge_operand2asm;
00029
00030
00031
00032 class visitor_ge_operand2asm : public visitor_ge_operand2lstring_gen_base {
00033 public:
00034
00035 ptr< ::lestes::backend_v2::intercode::ge_pi > instruction_get() const;
00036
00037
00038 void instruction_set(const ptr< ::lestes::backend_v2::intercode::ge_pi > &);
00039
00040 virtual lstring visit_ge_operand_reg(ptr< ::lestes::backend_v2::intercode::ge_operand_reg > );
00041
00042 virtual lstring visit_ge_operand_mem(ptr< ::lestes::backend_v2::intercode::ge_operand_mem > );
00043
00044 virtual lstring visit_ge_operand_imm(ptr< ::lestes::backend_v2::intercode::ge_operand_imm > );
00045
00046
00047
00048 static ptr< visitor_ge_operand2asm > create (
00049 ptr< ::lestes::backend_v2::intercode::ge_pi > a__visitor_ge_operand2asm__instruction);
00050
00051
00052 static ptr< visitor_ge_operand2asm > create (
00053 );
00054
00055
00056
00057
00058 virtual ptr<reflection_list> reflection_get() const;
00059
00060 virtual ptr<field_list_list> field_values_get() const;
00061
00062 protected:
00063
00064 visitor_ge_operand2asm (
00065 ptr< ::lestes::backend_v2::intercode::ge_pi > a__visitor_ge_operand2asm__instruction);
00066
00067
00068 virtual void gc_mark();
00069
00070 private:
00071
00072 srp< ::lestes::backend_v2::intercode::ge_pi > instruction;
00073 static ptr<reflection_list> reflection;
00074
00075 };
00076
00077
00078 end_package(intercode);
00079 end_package(backend_v2);
00080 end_package(lestes);
00081
00082 #endif // lestes__backend_v2__intercode__visitor_ge_operand2asm_g_hh__included