00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef CLASS_HPP
00011 #define CLASS_HPP
00012
00013 #include <vector>
00014 #include <string>
00015 #include <fstream>
00016 #include "constantpool.hpp"
00017
00018 namespace ClassEncoder
00019 {
00020
00021 class method_info;
00022
00024
00028 class Class : public ClassWriterBase
00029 {
00030 public:
00031 Class( const std::string &className = "output" );
00032 ~Class();
00033
00034 const std::string &getClassName() const { return ClassName; }
00035 void write( );
00036 method_info *addMethod( const std::string &name );
00037
00038 private:
00039 ConstantPool ConstantPoolEntries;
00040 std::vector<method_info*> Methods;
00041 std::string ClassName;
00042 };
00043
00044 }
00045 #endif // CLASS_HPP