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

Method invoke

src/jvm/clojure/lang/LispReader.java:1237–1260  ·  view source on GitHub ↗
(Object reader, Object leftparen, Object opts, Object pendingForms)

Source from the content-addressed store, hash-verified

1235
1236public static class ListReader extends AFn{
1237 public Object invoke(Object reader, Object leftparen, Object opts, Object pendingForms) {
1238 PushbackReader r = (PushbackReader) reader;
1239 int line = -1;
1240 int column = -1;
1241 if(r instanceof LineNumberingPushbackReader)
1242 {
1243 line = ((LineNumberingPushbackReader) r).getLineNumber();
1244 column = ((LineNumberingPushbackReader) r).getColumnNumber()-1;
1245 }
1246 List list = readDelimitedList(')', r, true, opts, ensurePending(pendingForms));
1247 if(list.isEmpty())
1248 return PersistentList.EMPTY;
1249 IObj s = (IObj) PersistentList.create(list);
1250// IObj s = (IObj) RT.seq(list);
1251 if(line != -1)
1252 {
1253 Object meta = RT.meta(s);
1254 meta = RT.assoc(meta, RT.LINE_KEY, RT.get(meta, RT.LINE_KEY, line));
1255 meta = RT.assoc(meta, RT.COLUMN_KEY, RT.get(meta,RT.COLUMN_KEY, column));
1256 return s.withMeta((IPersistentMap)meta);
1257 }
1258 else
1259 return s;
1260 }
1261
1262}
1263

Callers

nothing calls this directly

Calls 10

createMethod · 0.95
metaMethod · 0.95
assocMethod · 0.95
getMethod · 0.95
withMetaMethod · 0.95
ensurePendingMethod · 0.80
isEmptyMethod · 0.65
getLineNumberMethod · 0.45
getColumnNumberMethod · 0.45
readDelimitedListMethod · 0.45

Tested by

no test coverage detected