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

Method readTagged

src/jvm/clojure/lang/LispReader.java:1435–1452  ·  view source on GitHub ↗
(Object o, Symbol tag, Object opts, Object pendingForms)

Source from the content-addressed store, hash-verified

1433 }
1434
1435 private Object readTagged(Object o, Symbol tag, Object opts, Object pendingForms){
1436
1437 ILookup data_readers = (ILookup)RT.DATA_READERS.deref();
1438 IFn data_reader = (IFn)RT.get(data_readers, tag);
1439 if(data_reader == null){
1440 data_readers = (ILookup)RT.DEFAULT_DATA_READERS.deref();
1441 data_reader = (IFn)RT.get(data_readers, tag);
1442 if(data_reader == null){
1443 IFn default_reader = (IFn)RT.DEFAULT_DATA_READER_FN.deref();
1444 if(default_reader != null)
1445 return default_reader.invoke(tag, o);
1446 else
1447 throw new RuntimeException("No reader function for tag " + tag.toString());
1448 }
1449 }
1450
1451 return data_reader.invoke(o);
1452 }
1453
1454 private Object readRecord(Object form, Symbol recordName, Object opts, Object pendingForms){
1455 boolean readeval = RT.booleanCast(RT.READEVAL.deref());

Callers 1

invokeMethod · 0.95

Calls 4

getMethod · 0.95
invokeMethod · 0.95
derefMethod · 0.65
toStringMethod · 0.45

Tested by

no test coverage detected