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

Method readDelimitedList

src/jvm/clojure/lang/LispReader.java:1391–1415  ·  view source on GitHub ↗
(char delim, PushbackReader r, boolean isRecursive, Object opts, Object pendingForms)

Source from the content-addressed store, hash-verified

1389private static final Object READ_FINISHED = new Object();
1390
1391public static List readDelimitedList(char delim, PushbackReader r, boolean isRecursive, Object opts, Object pendingForms) {
1392 final int firstline =
1393 (r instanceof LineNumberingPushbackReader) ?
1394 ((LineNumberingPushbackReader) r).getLineNumber() : -1;
1395
1396 ArrayList a = new ArrayList();
1397 Resolver resolver = (Resolver) RT.READER_RESOLVER.deref();
1398
1399 for(; ;) {
1400
1401 Object form = read(r, false, READ_EOF, delim, READ_FINISHED, isRecursive, opts, pendingForms,
1402 resolver);
1403
1404 if (form == READ_EOF) {
1405 if (firstline < 0)
1406 throw Util.runtimeException("EOF while reading");
1407 else
1408 throw Util.runtimeException("EOF while reading, starting at line " + firstline);
1409 } else if (form == READ_FINISHED) {
1410 return a;
1411 }
1412
1413 a.add(form);
1414 }
1415}
1416
1417public static class CtorReader extends AFn{
1418 public Object invoke(Object reader, Object firstChar, Object opts, Object pendingForms){

Callers 5

invokeMethod · 0.45
invokeMethod · 0.45
invokeMethod · 0.45
invokeMethod · 0.45
invokeMethod · 0.45

Calls 5

readMethod · 0.95
runtimeExceptionMethod · 0.95
derefMethod · 0.65
addMethod · 0.65
getLineNumberMethod · 0.45

Tested by

no test coverage detected