Extract getExportVars, getExportFuncs, getPragmas out of Compiler.
diff --git a/lib/bcc/ScriptCompiled.h b/lib/bcc/ScriptCompiled.h
index 03b1fcd..e9c1fa2 100644
--- a/lib/bcc/ScriptCompiled.h
+++ b/lib/bcc/ScriptCompiled.h
@@ -29,13 +29,24 @@
class Script;
class ScriptCompiled {
+ friend class Compiler;
+
+ private:
+ typedef std::list< std::pair<std::string, std::string> > PragmaList;
+ typedef std::list<void*> ExportVarList;
+ typedef std::list<void*> ExportFuncList;
+
private:
Script *mpOwner;
Compiler mCompiler;
+ PragmaList mPragmas;
+ ExportVarList mExportVars;
+ ExportFuncList mExportFuncs;
+
public:
- ScriptCompiled(Script *owner) : mpOwner(owner) {
+ ScriptCompiled(Script *owner) : mpOwner(owner), mCompiler(this) {
}
int readBC(const char *bitcode,
@@ -71,21 +82,15 @@
void getExportVars(BCCsizei *actualVarCount,
BCCsizei maxVarCount,
- BCCvoid **vars) {
- mCompiler.getExportVars(actualVarCount, maxVarCount, vars);
- }
+ BCCvoid **vars);
void getExportFuncs(BCCsizei *actualFuncCount,
BCCsizei maxFuncCount,
- BCCvoid **funcs) {
- mCompiler.getExportFuncs(actualFuncCount, maxFuncCount, funcs);
- }
+ BCCvoid **funcs);
void getPragmas(BCCsizei *actualStringCount,
BCCsizei maxStringCount,
- BCCchar **strings) {
- mCompiler.getPragmas(actualStringCount, maxStringCount, strings);
- }
+ BCCchar **strings);
void getFunctions(BCCsizei *actualFunctionCount,
BCCsizei maxFunctionCount,