(C context, Object frm)
| 3166 | |
| 3167 | static class Parser implements IParser{ |
| 3168 | public Expr parse(C context, Object frm) { |
| 3169 | int line = lineDeref(); |
| 3170 | int column = columnDeref(); |
| 3171 | ISeq form = (ISeq) frm; |
| 3172 | //(new Classname args...) |
| 3173 | if(form.count() < 2) |
| 3174 | throw Util.runtimeException("wrong number of arguments, expecting: (new Classname args...)"); |
| 3175 | Class c = HostExpr.maybeClass(RT.second(form), false); |
| 3176 | if(c == null) |
| 3177 | throw new IllegalArgumentException("Unable to resolve classname: " + RT.second(form)); |
| 3178 | PersistentVector args = PersistentVector.EMPTY; |
| 3179 | for(ISeq s = RT.next(RT.next(form)); s != null; s = s.next()) |
| 3180 | args = args.cons(analyze(context == C.EVAL ? context : C.EXPRESSION, s.first())); |
| 3181 | return new NewExpr(c, args, line, column); |
| 3182 | } |
| 3183 | } |
| 3184 | |
| 3185 | } |
nothing calls this directly
no test coverage detected