diff options
Diffstat (limited to 'src/compile.cpp')
-rw-r--r-- | src/compile.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/compile.cpp b/src/compile.cpp index 2cf3b74..4f24994 100644 --- a/src/compile.cpp +++ b/src/compile.cpp @@ -24,7 +24,7 @@ using namespace std; #define COMPILE_LITERAL(CT) \ -template<> CVal ALiteral<CT>::compile(CEnv& cenv) { \ +template<> CVal ALiteral<CT>::compile(CEnv& cenv) throw() { \ return cenv.engine()->compileLiteral(cenv, this); \ } COMPILE_LITERAL(int32_t); @@ -32,7 +32,7 @@ COMPILE_LITERAL(float); COMPILE_LITERAL(bool); CVal -ASymbol::compile(CEnv& cenv) +ASymbol::compile(CEnv& cenv) throw() { if (cenv.vals.topLevel(this) && cenv.type(this)->head()->str() != "Fn") return cenv.engine()->getGlobal(cenv, *cenv.vals.ref(this)); @@ -41,13 +41,13 @@ ASymbol::compile(CEnv& cenv) } CVal -AFn::compile(CEnv& cenv) +AFn::compile(CEnv& cenv) throw() { return impls.find(cenv.type(this)); } CVal -ACall::compile(CEnv& cenv) +ACall::compile(CEnv& cenv) throw() { AFn* c = cenv.resolve(head())->to<AFn*>(); @@ -73,7 +73,7 @@ ACall::compile(CEnv& cenv) } CVal -ADef::compile(CEnv& cenv) +ADef::compile(CEnv& cenv) throw() { cenv.def(sym(), body(), cenv.type(body()), NULL); // define stub first for recursion CVal val = body()->compile(cenv); @@ -87,13 +87,13 @@ ADef::compile(CEnv& cenv) } CVal -AIf::compile(CEnv& cenv) +AIf::compile(CEnv& cenv) throw() { return cenv.engine()->compileIf(cenv, this); } CVal -ACons::compile(CEnv& cenv) +ACons::compile(CEnv& cenv) throw() { const AType* type = cenv.type(this); vector<CVal> fields; @@ -103,7 +103,7 @@ ACons::compile(CEnv& cenv) } CVal -ADot::compile(CEnv& cenv) +ADot::compile(CEnv& cenv) throw() { const_iterator i = begin(); AST* tup = *++i; @@ -113,7 +113,7 @@ ADot::compile(CEnv& cenv) } CVal -APrimitive::compile(CEnv& cenv) +APrimitive::compile(CEnv& cenv) throw() { return cenv.engine()->compilePrimitive(cenv, this); } |