aboutsummaryrefslogtreecommitdiffstats
path: root/src/parse.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/parse.cpp')
-rw-r--r--src/parse.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/parse.cpp b/src/parse.cpp
index c557c66..e37f095 100644
--- a/src/parse.cpp
+++ b/src/parse.cpp
@@ -74,10 +74,8 @@ parseLiteral(PEnv& penv, const SExp& exp, void* arg)
inline AST*
parseFn(PEnv& penv, const SExp& exp, void* arg)
{
- if (exp.size() < 2)
- throw Error(exp.loc, "Missing function parameters and body");
- else if (exp.size() < 3)
- throw Error(exp.loc, "Missing function body");
+ THROW_IF(exp.size() < 2,exp.loc, "Missing function parameters and body");
+ THROW_IF(exp.size() < 3, exp.loc, "Missing function body");
SExp::const_iterator a = exp.begin(); ++a;
AFn* ret = tup<AFn>(exp.loc, penv.sym("fn"), new ATuple(penv.parseTuple(*a++)), 0);
while (a != exp.end())