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

Method readTagged

src/jvm/clojure/lang/EdnReader.java:789–805  ·  view source on GitHub ↗
(PushbackReader reader, Symbol tag, IPersistentMap opts)

Source from the content-addressed store, hash-verified

787 static Keyword DEFAULT = Keyword.intern(null,"default");
788
789 private Object readTagged(PushbackReader reader, Symbol tag, IPersistentMap opts){
790 Object o = read(reader, true, null, true, opts);
791
792 ILookup readers = (ILookup)RT.get(opts, READERS);
793 IFn dataReader = (IFn)RT.get(readers, tag);
794 if(dataReader == null)
795 dataReader = (IFn)RT.get(RT.DEFAULT_DATA_READERS.deref(),tag);
796 if(dataReader == null){
797 IFn defaultReader = (IFn)RT.get(opts, DEFAULT);
798 if(defaultReader != null)
799 return defaultReader.invoke(tag, o);
800 else
801 throw new RuntimeException("No reader function for tag " + tag.toString());
802 }
803 else
804 return dataReader.invoke(o);
805 }
806
807}
808}

Callers 1

invokeMethod · 0.95

Calls 5

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

Tested by

no test coverage detected