00001
00002
00003
00004
00005
00006
00007
00008 #ifndef SAIL_ASSEMBLY_H_
00009 #define SAIL_ASSEMBLY_H_
00010
00011 #include "Instruction.h"
00012
00013 namespace il{
00014 class assembly;
00015 }
00016
00017 namespace sail {
00018
00027 class Assembly: public sail::Instruction {
00028
00029 friend class boost::serialization::access;
00030
00031 template<class Archive>
00032 void serialize(Archive & ar, const unsigned int version)
00033 {
00034 ar & boost::serialization::base_object<sail::Instruction>(*this);
00035 }
00036 private:
00037 public:
00038 Assembly(il::assembly* c_asm, int line);
00039 Assembly(){};
00040 virtual string to_string() const;
00041 virtual string to_string(bool pretty_print) const;
00042 virtual bool is_removable();
00043 virtual ~Assembly();
00044 };
00045
00046 }
00047
00048 #endif