MCPcopy Index your code
hub / github.com/clojure/clojure / parse

Method parse

src/jvm/clojure/lang/Compiler.java:3168–3182  ·  view source on GitHub ↗
(C context, Object frm)

Source from the content-addressed store, hash-verified

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}

Callers

nothing calls this directly

Calls 11

runtimeExceptionMethod · 0.95
maybeClassMethod · 0.95
secondMethod · 0.95
nextMethod · 0.95
nextMethod · 0.95
consMethod · 0.95
firstMethod · 0.95
lineDerefMethod · 0.80
columnDerefMethod · 0.80
analyzeMethod · 0.80
countMethod · 0.65

Tested by

no test coverage detected