aboutsummaryrefslogtreecommitdiffstats
path: root/src/resp.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/resp.hpp')
-rw-r--r--src/resp.hpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/resp.hpp b/src/resp.hpp
index 7c88be4..593205d 100644
--- a/src/resp.hpp
+++ b/src/resp.hpp
@@ -700,16 +700,19 @@ struct Engine {
typedef const vector<CVal> ValVec;
- virtual CFunc startFunction(
- CEnv& cenv,
- const std::string& name,
- const ATuple* args,
- const AType* type) = 0;
+ virtual CFunc startFunction(CEnv& cenv,
+ const std::string& name,
+ const ATuple* args,
+ const AType* type) = 0;
- virtual void pushFunctionArgs(CEnv& cenv, const ATuple* prot, const AType* type, CFunc f) = 0;
+ virtual void pushFunctionArgs(CEnv& cenv,
+ const ATuple* prot,
+ const AType* type,
+ CFunc f) = 0;
+
+ virtual void finishFunction(CEnv& cenv, CFunc f, CVal ret) = 0;
+ virtual void eraseFunction(CEnv& cenv, CFunc f) = 0;
- virtual void finishFunction(CEnv& cenv, CFunc f, CVal ret) = 0;
- virtual void eraseFunction(CEnv& cenv, CFunc f) = 0;
virtual CVal compileCons(CEnv& cenv, const AType* t, CVal rtti, ValVec& f) = 0;
virtual CVal compileDot(CEnv& cenv, CVal tup, int32_t index) = 0;
virtual CVal compileLiteral(CEnv& cenv, const AST* lit) = 0;
@@ -719,8 +722,9 @@ struct Engine {
virtual CVal compileIf(CEnv& cenv, const ATuple* aif) = 0;
virtual CVal compileMatch(CEnv& cenv, const ATuple* match) = 0;
virtual CVal compileGlobal(CEnv& cenv, const AType* t, const string& sym, CVal val) = 0;
- virtual CVal getGlobal(CEnv& cenv, const string& sym, CVal val) = 0;
- virtual void writeModule(CEnv& cenv, std::ostream& os) = 0;
+ virtual CVal compileGlobalGet(CEnv& cenv, const string& sym, CVal val) = 0;
+
+ virtual void writeModule(CEnv& cenv, std::ostream& os) = 0;
virtual const string call(CEnv& cenv, CFunc f, const AType* retT) = 0;
};