#pragma once namespace ActiveBasic{ namespace Compiler{ class DataTableGenerator { static int lastMadeConstObjectDataTableOffset; public: static bool MakeConstObjectToProcessStaticBuffer( DataTable &dataTable, const CClass &objClass, const Jenga::Common::Strings &initMemberValues, int &dataTableOffset ); static bool MakeConstObjectToProcessStaticBuffer( DataTable &dataTable, const char *expression, Type &resultType, int &dataTableOffset ); static int MakeConstStringObjectToProcessStaticBuffer( DataTable &dataTable, const char *str ); static bool MakeLiteralArrayBuffer( DataTable &dataTable, const char *expression, const Type &baseType, int &dataTableOffset ); static int GetLastMadeConstObjectDataTableOffset() { return lastMadeConstObjectDataTableOffset; } private: DataTableGenerator(); DataTableGenerator(DataTableGenerator const&); DataTableGenerator& operator =(DataTableGenerator const&); }; }}