diff options
Diffstat (limited to 'src/parse.cpp')
-rw-r--r-- | src/parse.cpp | 6 |
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()) |