| 4213 | } |
| 4214 | |
| 4215 | public Object eval() { |
| 4216 | try |
| 4217 | { |
| 4218 | IFn fn = (IFn) fexpr.eval(); |
| 4219 | PersistentVector argvs = PersistentVector.EMPTY; |
| 4220 | for(int i = 0; i < args.count(); i++) |
| 4221 | argvs = argvs.cons(((Expr) args.nth(i)).eval()); |
| 4222 | return fn.applyTo(RT.seq( Util.ret1(argvs, argvs = null) )); |
| 4223 | } |
| 4224 | catch(Throwable e) |
| 4225 | { |
| 4226 | if(!(e instanceof CompilerException)) |
| 4227 | throw new CompilerException(source, line, column, null, CompilerException.PHASE_EXECUTION, e); |
| 4228 | else |
| 4229 | throw (CompilerException) e; |
| 4230 | } |
| 4231 | } |
| 4232 | |
| 4233 | public void emit(C context, ObjExpr objx, GeneratorAdapter gen){ |
| 4234 | if(isProtocol) |