UNPKG

thisdotrob-calvin-cljs

Version:

a minimalistic build tool for clojurescript in clojurescript

1,212 lines (1,134 loc) 75.7 kB
// Compiled by ClojureScript 1.9.293 {:target :nodejs} goog.provide('cljs.tools.reader'); goog.require('cljs.core'); goog.require('cljs.tools.reader.impl.commons'); goog.require('goog.string'); goog.require('goog.array'); goog.require('cljs.tools.reader.reader_types'); goog.require('goog.string.StringBuffer'); goog.require('cljs.tools.reader.impl.utils'); goog.require('clojure.string'); cljs.tools.reader.macro_terminating_QMARK_ = (function cljs$tools$reader$macro_terminating_QMARK_(ch){ var G__21272 = ch; switch (G__21272) { case "\"": case ";": case "@": case "^": case "`": case "~": case "(": case ")": case "[": case "]": case "{": case "}": case "\\": return true; break; default: return false; } }); cljs.tools.reader.sb = (new goog.string.StringBuffer()); /** * Read in a single logical token from the reader */ cljs.tools.reader.read_token = (function cljs$tools$reader$read_token(rdr,initch){ if((initch == null)){ return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"EOF while reading"); } else { cljs.tools.reader.sb.clear(); var ch = initch; while(true){ if((cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,ch)) || (cljs.tools.reader.macro_terminating_QMARK_.call(null,ch)) || ((ch == null))){ if((ch == null)){ } else { cljs.tools.reader.reader_types.unread.call(null,rdr,ch); } return cljs.tools.reader.sb.toString(); } else { cljs.tools.reader.sb.append(ch); var G__21324 = cljs.tools.reader.reader_types.read_char.call(null,rdr); ch = G__21324; continue; } break; } } }); cljs.tools.reader.read_dispatch = (function cljs$tools$reader$read_dispatch(rdr,_,opts,pending_forms){ var temp__4655__auto__ = cljs.tools.reader.reader_types.read_char.call(null,rdr); if(cljs.core.truth_(temp__4655__auto__)){ var ch = temp__4655__auto__; var temp__4655__auto____$1 = cljs.tools.reader.dispatch_macros.call(null,ch); if(cljs.core.truth_(temp__4655__auto____$1)){ var dm = temp__4655__auto____$1; return dm.call(null,rdr,ch,opts,pending_forms); } else { return cljs.tools.reader.read_tagged.call(null,(function (){var G__21327 = rdr; cljs.tools.reader.reader_types.unread.call(null,G__21327,ch); return G__21327; })(),ch,opts,pending_forms); } } else { return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"EOF while reading character"); } }); cljs.tools.reader.read_unmatched_delimiter = (function cljs$tools$reader$read_unmatched_delimiter(rdr,ch,opts,pending_forms){ return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"Unmatched delimiter ",ch); }); cljs.tools.reader.read_regex = (function cljs$tools$reader$read_regex(rdr,ch,opts,pending_forms){ var sb = (new goog.string.StringBuffer()); var ch__$1 = cljs.tools.reader.reader_types.read_char.call(null,rdr); while(true){ if(("\"" === ch__$1)){ return cljs.core.re_pattern.call(null,[cljs.core.str(sb)].join('')); } else { if((ch__$1 == null)){ return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"EOF while reading regex"); } else { sb.append(ch__$1); if(("\\" === ch__$1)){ var ch_21461__$2 = cljs.tools.reader.reader_types.read_char.call(null,rdr); if((ch_21461__$2 == null)){ cljs.tools.reader.reader_types.reader_error.call(null,rdr,"EOF while reading regex"); } else { } sb.append(ch_21461__$2); } else { } var G__21463 = cljs.tools.reader.reader_types.read_char.call(null,rdr); ch__$1 = G__21463; continue; } } break; } }); cljs.tools.reader.char_code = (function cljs$tools$reader$char_code(ch,base){ var code = parseInt(ch,base); if(cljs.core.truth_(isNaN(code))){ return (-1); } else { return code; } }); cljs.tools.reader.read_unicode_char = (function cljs$tools$reader$read_unicode_char(var_args){ var args21481 = []; var len__7651__auto___21505 = arguments.length; var i__7652__auto___21506 = (0); while(true){ if((i__7652__auto___21506 < len__7651__auto___21505)){ args21481.push((arguments[i__7652__auto___21506])); var G__21507 = (i__7652__auto___21506 + (1)); i__7652__auto___21506 = G__21507; continue; } else { } break; } var G__21483 = args21481.length; switch (G__21483) { case 4: return cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)])); break; case 5: return cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)])); break; default: throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args21481.length)].join(''))); } }); cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4 = (function (token,offset,length,base){ var l = (offset + length); if((cljs.core.count.call(null,token) === l)){ } else { throw cljs.core.ex_info.call(null,[cljs.core.str("Invalid unicode character: \\"),cljs.core.str(token)].join(''),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-argument","illegal-argument",-1845493170)], null)); } var i = offset; var uc = (0); while(true){ if((i === l)){ return String.fromCharCode(uc); } else { var d = cljs.tools.reader.char_code.call(null,cljs.core.nth.call(null,token,i),base); if((d === (-1))){ throw cljs.core.ex_info.call(null,[cljs.core.str("Invalid digit: "),cljs.core.str(cljs.core.nth.call(null,token,i))].join(''),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-argument","illegal-argument",-1845493170)], null)); } else { var G__21541 = (i + (1)); var G__21542 = (d + (uc * base)); i = G__21541; uc = G__21542; continue; } } break; } }); cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5 = (function (rdr,initch,base,length,exact_QMARK_){ var i = (1); var uc = cljs.tools.reader.char_code.call(null,initch,base); while(true){ if((uc === (-1))){ throw cljs.core.ex_info.call(null,[cljs.core.str("Invalid digit: "),cljs.core.str(initch)].join(''),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-argument","illegal-argument",-1845493170)], null)); } else { if(!((i === length))){ var ch = cljs.tools.reader.reader_types.peek_char.call(null,rdr); if(cljs.core.truth_((function (){var or__6543__auto__ = cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,ch); if(or__6543__auto__){ return or__6543__auto__; } else { var or__6543__auto____$1 = cljs.tools.reader.macros.call(null,ch); if(cljs.core.truth_(or__6543__auto____$1)){ return or__6543__auto____$1; } else { return (ch == null); } } })())){ if(cljs.core.truth_(exact_QMARK_)){ throw cljs.core.ex_info.call(null,[cljs.core.str("Invalid character length: "),cljs.core.str(i),cljs.core.str(", should be: "),cljs.core.str(length)].join(''),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-argument","illegal-argument",-1845493170)], null)); } else { return String.fromCharCode(uc); } } else { var d = cljs.tools.reader.char_code.call(null,ch,base); cljs.tools.reader.reader_types.read_char.call(null,rdr); if((d === (-1))){ throw cljs.core.ex_info.call(null,[cljs.core.str("Invalid digit: "),cljs.core.str(ch)].join(''),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-argument","illegal-argument",-1845493170)], null)); } else { var G__21559 = (i + (1)); var G__21560 = (d + (uc * base)); i = G__21559; uc = G__21560; continue; } } } else { return String.fromCharCode(uc); } } break; } }); cljs.tools.reader.read_unicode_char.cljs$lang$maxFixedArity = 5; cljs.tools.reader.upper_limit = "\uD7FF".charCodeAt((0)); cljs.tools.reader.lower_limit = "\uE000".charCodeAt((0)); cljs.tools.reader.valid_octal_QMARK_ = (function cljs$tools$reader$valid_octal_QMARK_(token,base){ return (parseInt(token,base) <= (255)); }); /** * Read in a character literal */ cljs.tools.reader.read_char_STAR_ = (function cljs$tools$reader$read_char_STAR_(rdr,backslash,opts,pending_forms){ var ch = cljs.tools.reader.reader_types.read_char.call(null,rdr); if(!((ch == null))){ var token = (((cljs.tools.reader.macro_terminating_QMARK_.call(null,ch)) || (cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,ch)))?[cljs.core.str(ch)].join(''):cljs.tools.reader.read_token.call(null,rdr,ch)); var token_len = token.length; if(((1) === token_len)){ return token.charAt((0)); } else { if(cljs.core._EQ_.call(null,token,"newline")){ return "\n"; } else { if(cljs.core._EQ_.call(null,token,"space")){ return " "; } else { if(cljs.core._EQ_.call(null,token,"tab")){ return "\t"; } else { if(cljs.core._EQ_.call(null,token,"backspace")){ return "\b"; } else { if(cljs.core._EQ_.call(null,token,"formfeed")){ return "\f"; } else { if(cljs.core._EQ_.call(null,token,"return")){ return "\r"; } else { if(cljs.core.truth_(goog.string.startsWith(token,"u"))){ var c = cljs.tools.reader.read_unicode_char.call(null,token,(1),(4),(16)); var ic = c.charCodeAt((0)); if(((ic > cljs.tools.reader.upper_limit)) && ((ic < cljs.tools.reader.lower_limit))){ return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"Invalid character constant: \\u",c); } else { return c; } } else { if(cljs.core.truth_(goog.string.startsWith(token,"o"))){ var len = (token_len - (1)); if((len > (3))){ return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"Invalid octal escape sequence length: ",len); } else { var offset = (1); var base = (8); var uc = cljs.tools.reader.read_unicode_char.call(null,token,offset,len,base); if(cljs.core.not.call(null,cljs.tools.reader.valid_octal_QMARK_.call(null,cljs.core.subs.call(null,token,offset),base))){ return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"Octal escape sequence must be in range [0, 377]"); } else { return uc; } } } else { return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"Unsupported character: \\",token); } } } } } } } } } } else { return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"EOF while reading character"); } }); cljs.tools.reader.starting_line_col_info = (function cljs$tools$reader$starting_line_col_info(rdr){ if(cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,rdr))){ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.tools.reader.reader_types.get_line_number.call(null,rdr),((cljs.tools.reader.reader_types.get_column_number.call(null,rdr) - (1)) | (0))], null); } else { return null; } }); cljs.tools.reader.ending_line_col_info = (function cljs$tools$reader$ending_line_col_info(rdr){ if(cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,rdr))){ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.tools.reader.reader_types.get_line_number.call(null,rdr),cljs.tools.reader.reader_types.get_column_number.call(null,rdr)], null); } else { return null; } }); if(typeof cljs.tools.reader.READ_EOF !== 'undefined'){ } else { cljs.tools.reader.READ_EOF = (new Object()); } if(typeof cljs.tools.reader.READ_FINISHED !== 'undefined'){ } else { cljs.tools.reader.READ_FINISHED = (new Object()); } cljs.tools.reader._STAR_read_delim_STAR_ = false; cljs.tools.reader.read_delimited_internal = (function cljs$tools$reader$read_delimited_internal(delim,rdr,opts,pending_forms){ var vec__21594 = cljs.tools.reader.starting_line_col_info.call(null,rdr); var start_line = cljs.core.nth.call(null,vec__21594,(0),null); var start_column = cljs.core.nth.call(null,vec__21594,(1),null); var delim__$1 = cljs.tools.reader.impl.utils.char$.call(null,delim); var a = cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY); while(true){ var form = cljs.tools.reader.read_STAR_.call(null,rdr,false,cljs.tools.reader.READ_EOF,delim__$1,opts,pending_forms); if((form === cljs.tools.reader.READ_FINISHED)){ return cljs.core.persistent_BANG_.call(null,a); } else { if((form === cljs.tools.reader.READ_EOF)){ return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"EOF while reading",(cljs.core.truth_(start_line)?[cljs.core.str(", starting at line "),cljs.core.str(start_line),cljs.core.str(" and column "),cljs.core.str(start_column)].join(''):null)); } else { var G__21600 = cljs.core.conj_BANG_.call(null,a,form); a = G__21600; continue; } } break; } }); /** * Reads and returns a collection ended with delim */ cljs.tools.reader.read_delimited = (function cljs$tools$reader$read_delimited(delim,rdr,opts,pending_forms){ var _STAR_read_delim_STAR_21603 = cljs.tools.reader._STAR_read_delim_STAR_; cljs.tools.reader._STAR_read_delim_STAR_ = true; try{return cljs.tools.reader.read_delimited_internal.call(null,delim,rdr,opts,pending_forms); }finally {cljs.tools.reader._STAR_read_delim_STAR_ = _STAR_read_delim_STAR_21603; }}); /** * Read in a list, including its location if the reader is an indexing reader */ cljs.tools.reader.read_list = (function cljs$tools$reader$read_list(rdr,_,opts,pending_forms){ var vec__21610 = cljs.tools.reader.starting_line_col_info.call(null,rdr); var start_line = cljs.core.nth.call(null,vec__21610,(0),null); var start_column = cljs.core.nth.call(null,vec__21610,(1),null); var the_list = cljs.tools.reader.read_delimited.call(null,")",rdr,opts,pending_forms); var vec__21613 = cljs.tools.reader.ending_line_col_info.call(null,rdr); var end_line = cljs.core.nth.call(null,vec__21613,(0),null); var end_column = cljs.core.nth.call(null,vec__21613,(1),null); return cljs.core.with_meta.call(null,((cljs.core.empty_QMARK_.call(null,the_list))?cljs.core.List.EMPTY:cljs.core.apply.call(null,cljs.core.list,the_list)),(cljs.core.truth_(start_line)?cljs.core.merge.call(null,(function (){var temp__4657__auto__ = cljs.tools.reader.reader_types.get_file_name.call(null,rdr); if(cljs.core.truth_(temp__4657__auto__)){ var file = temp__4657__auto__; return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"file","file",-1269645878),file], null); } else { return null; } })(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"line","line",212345235),start_line,new cljs.core.Keyword(null,"column","column",2078222095),start_column,new cljs.core.Keyword(null,"end-line","end-line",1837326455),end_line,new cljs.core.Keyword(null,"end-column","end-column",1425389514),end_column], null)):null)); }); /** * Read in a vector, including its location if the reader is an indexing reader */ cljs.tools.reader.read_vector = (function cljs$tools$reader$read_vector(rdr,_,opts,pending_forms){ var vec__21643 = cljs.tools.reader.starting_line_col_info.call(null,rdr); var start_line = cljs.core.nth.call(null,vec__21643,(0),null); var start_column = cljs.core.nth.call(null,vec__21643,(1),null); var the_vector = cljs.tools.reader.read_delimited.call(null,"]",rdr,opts,pending_forms); var vec__21647 = cljs.tools.reader.ending_line_col_info.call(null,rdr); var end_line = cljs.core.nth.call(null,vec__21647,(0),null); var end_column = cljs.core.nth.call(null,vec__21647,(1),null); return cljs.core.with_meta.call(null,the_vector,(cljs.core.truth_(start_line)?cljs.core.merge.call(null,(function (){var temp__4657__auto__ = cljs.tools.reader.reader_types.get_file_name.call(null,rdr); if(cljs.core.truth_(temp__4657__auto__)){ var file = temp__4657__auto__; return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"file","file",-1269645878),file], null); } else { return null; } })(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"line","line",212345235),start_line,new cljs.core.Keyword(null,"column","column",2078222095),start_column,new cljs.core.Keyword(null,"end-line","end-line",1837326455),end_line,new cljs.core.Keyword(null,"end-column","end-column",1425389514),end_column], null)):null)); }); cljs.tools.reader.duplicate_keys_error = (function cljs$tools$reader$duplicate_keys_error(msg,coll){ var duplicates = (function cljs$tools$reader$duplicate_keys_error_$_duplicates(seq){ var iter__7326__auto__ = (function cljs$tools$reader$duplicate_keys_error_$_duplicates_$_iter__21841(s__21842){ return (new cljs.core.LazySeq(null,(function (){ var s__21842__$1 = s__21842; while(true){ var temp__4657__auto__ = cljs.core.seq.call(null,s__21842__$1); if(temp__4657__auto__){ var s__21842__$2 = temp__4657__auto__; if(cljs.core.chunked_seq_QMARK_.call(null,s__21842__$2)){ var c__7324__auto__ = cljs.core.chunk_first.call(null,s__21842__$2); var size__7325__auto__ = cljs.core.count.call(null,c__7324__auto__); var b__21844 = cljs.core.chunk_buffer.call(null,size__7325__auto__); if((function (){var i__21843 = (0); while(true){ if((i__21843 < size__7325__auto__)){ var vec__21857 = cljs.core._nth.call(null,c__7324__auto__,i__21843); var id = cljs.core.nth.call(null,vec__21857,(0),null); var freq = cljs.core.nth.call(null,vec__21857,(1),null); if((freq > (1))){ cljs.core.chunk_append.call(null,b__21844,id); var G__21873 = (i__21843 + (1)); i__21843 = G__21873; continue; } else { var G__21874 = (i__21843 + (1)); i__21843 = G__21874; continue; } } else { return true; } break; } })()){ return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__21844),cljs$tools$reader$duplicate_keys_error_$_duplicates_$_iter__21841.call(null,cljs.core.chunk_rest.call(null,s__21842__$2))); } else { return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__21844),null); } } else { var vec__21860 = cljs.core.first.call(null,s__21842__$2); var id = cljs.core.nth.call(null,vec__21860,(0),null); var freq = cljs.core.nth.call(null,vec__21860,(1),null); if((freq > (1))){ return cljs.core.cons.call(null,id,cljs$tools$reader$duplicate_keys_error_$_duplicates_$_iter__21841.call(null,cljs.core.rest.call(null,s__21842__$2))); } else { var G__21888 = cljs.core.rest.call(null,s__21842__$2); s__21842__$1 = G__21888; continue; } } } else { return null; } break; } }),null,null)); }); return iter__7326__auto__.call(null,cljs.core.frequencies.call(null,seq)); }); var dups = duplicates.call(null,coll); return cljs.core.apply.call(null,cljs.core.str,msg,(((cljs.core.count.call(null,dups) > (1)))?"s":null),": ",cljs.core.interpose.call(null,", ",dups)); }); /** * Read in a map, including its location if the reader is an indexing reader */ cljs.tools.reader.read_map = (function cljs$tools$reader$read_map(rdr,_,opts,pending_forms){ var vec__21920 = cljs.tools.reader.starting_line_col_info.call(null,rdr); var start_line = cljs.core.nth.call(null,vec__21920,(0),null); var start_column = cljs.core.nth.call(null,vec__21920,(1),null); var the_map = cljs.tools.reader.read_delimited.call(null,"}",rdr,opts,pending_forms); var map_count = cljs.core.count.call(null,the_map); var ks = cljs.core.take_nth.call(null,(2),the_map); var key_set = cljs.core.set.call(null,ks); var vec__21923 = cljs.tools.reader.ending_line_col_info.call(null,rdr); var end_line = cljs.core.nth.call(null,vec__21923,(0),null); var end_column = cljs.core.nth.call(null,vec__21923,(1),null); if(cljs.core.odd_QMARK_.call(null,map_count)){ cljs.tools.reader.reader_types.reader_error.call(null,rdr,"Map literal must contain an even number of forms"); } else { } if(cljs.core._EQ_.call(null,cljs.core.count.call(null,key_set),cljs.core.count.call(null,ks))){ } else { cljs.tools.reader.reader_types.reader_error.call(null,rdr,cljs.tools.reader.duplicate_keys_error.call(null,"Map literal contains duplicate key",ks)); } return cljs.core.with_meta.call(null,(((map_count === (0)))?cljs.core.PersistentArrayMap.EMPTY:cljs.core.apply.call(null,cljs.core.hash_map,cljs.core.to_array.call(null,the_map))),(cljs.core.truth_(start_line)?cljs.core.merge.call(null,(function (){var temp__4657__auto__ = cljs.tools.reader.reader_types.get_file_name.call(null,rdr); if(cljs.core.truth_(temp__4657__auto__)){ var file = temp__4657__auto__; return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"file","file",-1269645878),file], null); } else { return null; } })(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"line","line",212345235),start_line,new cljs.core.Keyword(null,"column","column",2078222095),start_column,new cljs.core.Keyword(null,"end-line","end-line",1837326455),end_line,new cljs.core.Keyword(null,"end-column","end-column",1425389514),end_column], null)):null)); }); cljs.tools.reader.read_number = (function cljs$tools$reader$read_number(rdr,initch){ var sb = (function (){var G__21981 = (new goog.string.StringBuffer()); G__21981.append(initch); return G__21981; })(); var ch = cljs.tools.reader.reader_types.read_char.call(null,rdr); while(true){ if(cljs.core.truth_((function (){var or__6543__auto__ = cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,ch); if(or__6543__auto__){ return or__6543__auto__; } else { var or__6543__auto____$1 = cljs.tools.reader.macros.call(null,ch); if(cljs.core.truth_(or__6543__auto____$1)){ return or__6543__auto____$1; } else { return (ch == null); } } })())){ var s = [cljs.core.str(sb)].join(''); cljs.tools.reader.reader_types.unread.call(null,rdr,ch); var or__6543__auto__ = cljs.tools.reader.impl.commons.match_number.call(null,s); if(cljs.core.truth_(or__6543__auto__)){ return or__6543__auto__; } else { return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"Invalid number format [",s,"]"); } } else { var G__22011 = (function (){var G__21997 = sb; G__21997.append(ch); return G__21997; })(); var G__22012 = cljs.tools.reader.reader_types.read_char.call(null,rdr); sb = G__22011; ch = G__22012; continue; } break; } }); cljs.tools.reader.escape_char = (function cljs$tools$reader$escape_char(sb,rdr){ var ch = cljs.tools.reader.reader_types.read_char.call(null,rdr); var G__22026 = ch; switch (G__22026) { case "t": return "\t"; break; case "r": return "\r"; break; case "n": return "\n"; break; case "\\": return "\\"; break; case "\"": return "\""; break; case "b": return "\b"; break; case "f": return "\f"; break; case "u": var ch__$1 = cljs.tools.reader.reader_types.read_char.call(null,rdr); if(((-1) === parseInt((ch__$1 | (0)),(16)))){ return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"Invalid unicode escape: \\u",ch__$1); } else { return cljs.tools.reader.read_unicode_char.call(null,rdr,ch__$1,(16),(4),true); } break; default: if(cljs.tools.reader.impl.utils.numeric_QMARK_.call(null,ch)){ var ch__$1 = cljs.tools.reader.read_unicode_char.call(null,rdr,ch,(8),(3),false); if(((ch__$1 | (0)) > (223))){ return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"Octal escape sequence must be in range [0, 377]"); } else { return ch__$1; } } else { return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"Unsupported escape character: \\",ch); } } }); cljs.tools.reader.read_string_STAR_ = (function cljs$tools$reader$read_string_STAR_(reader,_,opts,pending_forms){ var sb = (new goog.string.StringBuffer()); var ch = cljs.tools.reader.reader_types.read_char.call(null,reader); while(true){ if((ch == null)){ return cljs.tools.reader.reader_types.reader_error.call(null,reader,"EOF while reading string"); } else { var G__22074 = ch; switch (G__22074) { case "\\": var G__22083 = (function (){var G__22075 = sb; G__22075.append(cljs.tools.reader.escape_char.call(null,sb,reader)); return G__22075; })(); var G__22084 = cljs.tools.reader.reader_types.read_char.call(null,reader); sb = G__22083; ch = G__22084; continue; break; case "\"": return [cljs.core.str(sb)].join(''); break; default: var G__22089 = (function (){var G__22076 = sb; G__22076.append(ch); return G__22076; })(); var G__22090 = cljs.tools.reader.reader_types.read_char.call(null,reader); sb = G__22089; ch = G__22090; continue; } } break; } }); cljs.tools.reader.loc_info = (function cljs$tools$reader$loc_info(rdr,line,column){ if((line == null)){ return null; } else { var file = cljs.tools.reader.reader_types.get_file_name.call(null,rdr); var filem = (((file == null))?null:new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"file","file",-1269645878),file], null)); var vec__22101 = cljs.tools.reader.ending_line_col_info.call(null,rdr); var end_line = cljs.core.nth.call(null,vec__22101,(0),null); var end_column = cljs.core.nth.call(null,vec__22101,(1),null); var lcm = new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"line","line",212345235),line,new cljs.core.Keyword(null,"column","column",2078222095),column,new cljs.core.Keyword(null,"end-line","end-line",1837326455),end_line,new cljs.core.Keyword(null,"end-column","end-column",1425389514),end_column], null); return cljs.core.merge.call(null,filem,lcm); } }); cljs.tools.reader.read_symbol = (function cljs$tools$reader$read_symbol(rdr,initch){ var vec__22130 = cljs.tools.reader.starting_line_col_info.call(null,rdr); var line = cljs.core.nth.call(null,vec__22130,(0),null); var column = cljs.core.nth.call(null,vec__22130,(1),null); var token = cljs.tools.reader.read_token.call(null,rdr,initch); if((token == null)){ return null; } else { var G__22134 = token; switch (G__22134) { case "nil": return null; break; case "true": return true; break; case "false": return false; break; case "/": return new cljs.core.Symbol(null,"/","/",-1371932971,null); break; case "NaN": return Number.NaN; break; case "-Infinity": return Number.NEGATIVE_INFINITY; break; case "Infinity": case "+Infinity": return Number.POSITIVE_INFINITY; break; default: var p = cljs.tools.reader.impl.commons.parse_symbol.call(null,token); if(!((p == null))){ var sym = cljs.core.symbol.call(null,cljs.core._nth.call(null,p,(0)),cljs.core._nth.call(null,p,(1))); return cljs.core._with_meta.call(null,sym,cljs.tools.reader.loc_info.call(null,rdr,line,column)); } else { return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"Invalid token: ",token); } } } }); /** * Map from ns alias to ns, if non-nil, it will be used to resolve read-time * ns aliases. * * Defaults to nil */ cljs.tools.reader._STAR_alias_map_STAR_ = null; cljs.tools.reader.resolve_ns = (function cljs$tools$reader$resolve_ns(sym){ var or__6543__auto__ = cljs.core.get.call(null,cljs.tools.reader._STAR_alias_map_STAR_,sym); if(cljs.core.truth_(or__6543__auto__)){ return or__6543__auto__; } else { var temp__4657__auto__ = cljs.core.find_ns.call(null,sym); if(cljs.core.truth_(temp__4657__auto__)){ var ns = temp__4657__auto__; return cljs.core.symbol.call(null,cljs.core.ns_name.call(null,ns)); } else { return null; } } }); cljs.tools.reader.read_keyword = (function cljs$tools$reader$read_keyword(reader,initch,opts,pending_forms){ var ch = cljs.tools.reader.reader_types.read_char.call(null,reader); if(!(cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,ch))){ var token = cljs.tools.reader.read_token.call(null,reader,ch); var s = cljs.tools.reader.impl.commons.parse_symbol.call(null,token); if(!((s == null))){ var ns = cljs.core._nth.call(null,s,(0)); var name = cljs.core._nth.call(null,s,(1)); if((":" === token.charAt((0)))){ if(!((ns == null))){ var ns__$1 = cljs.tools.reader.resolve_ns.call(null,cljs.core.symbol.call(null,cljs.core.subs.call(null,ns,(1)))); if(!((ns__$1 == null))){ return cljs.core.keyword.call(null,[cljs.core.str(ns__$1)].join(''),name); } else { return cljs.tools.reader.reader_types.reader_error.call(null,reader,"Invalid token: :",token); } } else { return cljs.core.keyword.call(null,[cljs.core.str(cljs.core._STAR_ns_STAR_)].join(''),cljs.core.subs.call(null,name,(1))); } } else { return cljs.core.keyword.call(null,ns,name); } } else { return cljs.tools.reader.reader_types.reader_error.call(null,reader,"Invalid token: :",token); } } else { return cljs.tools.reader.reader_types.reader_error.call(null,reader,"Invalid token: :"); } }); /** * Returns a function which wraps a reader in a call to sym */ cljs.tools.reader.wrapping_reader = (function cljs$tools$reader$wrapping_reader(sym){ return (function (rdr,_,opts,pending_forms){ var x__7380__auto__ = sym; return cljs.core._conj.call(null,(function (){var x__7380__auto____$1 = cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms); return cljs.core._conj.call(null,cljs.core.List.EMPTY,x__7380__auto____$1); })(),x__7380__auto__); }); }); /** * Read metadata and return the following object with the metadata applied */ cljs.tools.reader.read_meta = (function cljs$tools$reader$read_meta(rdr,_,opts,pending_forms){ if((cljs.tools.reader.reader_types.source_logging_reader_QMARK_.call(null,rdr)) && (!(cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,cljs.tools.reader.reader_types.peek_char.call(null,rdr))))){ return cljs.tools.reader.reader_types.log_source_STAR_.call(null,rdr,(function (){ var vec__22317 = cljs.tools.reader.starting_line_col_info.call(null,rdr); var line = cljs.core.nth.call(null,vec__22317,(0),null); var column = cljs.core.nth.call(null,vec__22317,(1),null); var m = cljs.tools.reader.impl.utils.desugar_meta.call(null,cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)); if(cljs.core.map_QMARK_.call(null,m)){ } else { cljs.tools.reader.reader_types.reader_error.call(null,rdr,"Metadata must be Symbol, Keyword, String or Map"); } var o = cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms); if(((!((o == null)))?((((o.cljs$lang$protocol_mask$partition0$ & (131072))) || ((cljs.core.PROTOCOL_SENTINEL === o.cljs$core$IMeta$)))?true:false):false)){ var m__$1 = (cljs.core.truth_((function (){var and__6531__auto__ = line; if(cljs.core.truth_(and__6531__auto__)){ return cljs.core.seq_QMARK_.call(null,o); } else { return and__6531__auto__; } })())?cljs.core.assoc.call(null,m,new cljs.core.Keyword(null,"line","line",212345235),line,new cljs.core.Keyword(null,"column","column",2078222095),column):m); if(((!((o == null)))?((((o.cljs$lang$protocol_mask$partition0$ & (262144))) || ((cljs.core.PROTOCOL_SENTINEL === o.cljs$core$IWithMeta$)))?true:false):false)){ return cljs.core.with_meta.call(null,o,cljs.core.merge.call(null,cljs.core.meta.call(null,o),m__$1)); } else { return cljs.core.reset_meta_BANG_.call(null,o,m__$1); } } else { return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"Metadata can only be applied to IMetas"); } })); } else { var vec__22330 = cljs.tools.reader.starting_line_col_info.call(null,rdr); var line = cljs.core.nth.call(null,vec__22330,(0),null); var column = cljs.core.nth.call(null,vec__22330,(1),null); var m = cljs.tools.reader.impl.utils.desugar_meta.call(null,cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)); if(cljs.core.map_QMARK_.call(null,m)){ } else { cljs.tools.reader.reader_types.reader_error.call(null,rdr,"Metadata must be Symbol, Keyword, String or Map"); } var o = cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms); if(((!((o == null)))?((((o.cljs$lang$protocol_mask$partition0$ & (131072))) || ((cljs.core.PROTOCOL_SENTINEL === o.cljs$core$IMeta$)))?true:false):false)){ var m__$1 = (cljs.core.truth_((function (){var and__6531__auto__ = line; if(cljs.core.truth_(and__6531__auto__)){ return cljs.core.seq_QMARK_.call(null,o); } else { return and__6531__auto__; } })())?cljs.core.assoc.call(null,m,new cljs.core.Keyword(null,"line","line",212345235),line,new cljs.core.Keyword(null,"column","column",2078222095),column):m); if(((!((o == null)))?((((o.cljs$lang$protocol_mask$partition0$ & (262144))) || ((cljs.core.PROTOCOL_SENTINEL === o.cljs$core$IWithMeta$)))?true:false):false)){ return cljs.core.with_meta.call(null,o,cljs.core.merge.call(null,cljs.core.meta.call(null,o),m__$1)); } else { return cljs.core.reset_meta_BANG_.call(null,o,m__$1); } } else { return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"Metadata can only be applied to IMetas"); } } }); cljs.tools.reader.read_set = (function cljs$tools$reader$read_set(rdr,_,opts,pending_forms){ var vec__22364 = cljs.tools.reader.starting_line_col_info.call(null,rdr); var start_line = cljs.core.nth.call(null,vec__22364,(0),null); var start_column = cljs.core.nth.call(null,vec__22364,(1),null); var start_column__$1 = (cljs.core.truth_(start_column)?((start_column - (1)) | (0)):null); var coll = cljs.tools.reader.read_delimited.call(null,"}",rdr,opts,pending_forms); var the_set = cljs.core.set.call(null,coll); var vec__22367 = cljs.tools.reader.ending_line_col_info.call(null,rdr); var end_line = cljs.core.nth.call(null,vec__22367,(0),null); var end_column = cljs.core.nth.call(null,vec__22367,(1),null); if(cljs.core._EQ_.call(null,cljs.core.count.call(null,coll),cljs.core.count.call(null,the_set))){ } else { cljs.tools.reader.reader_types.reader_error.call(null,rdr,cljs.tools.reader.duplicate_keys_error.call(null,"Set literal contains duplicate key",coll)); } return cljs.core.with_meta.call(null,the_set,(cljs.core.truth_(start_line)?cljs.core.merge.call(null,(function (){var temp__4657__auto__ = cljs.tools.reader.reader_types.get_file_name.call(null,rdr); if(cljs.core.truth_(temp__4657__auto__)){ var file = temp__4657__auto__; return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"file","file",-1269645878),file], null); } else { return null; } })(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"line","line",212345235),start_line,new cljs.core.Keyword(null,"column","column",2078222095),start_column__$1,new cljs.core.Keyword(null,"end-line","end-line",1837326455),end_line,new cljs.core.Keyword(null,"end-column","end-column",1425389514),end_column], null)):null)); }); /** * Read and discard the first object from rdr */ cljs.tools.reader.read_discard = (function cljs$tools$reader$read_discard(rdr,_,opts,pending_forms){ var G__22380 = rdr; cljs.tools.reader.read_STAR_.call(null,G__22380,true,null,opts,pending_forms); return G__22380; }); cljs.tools.reader.RESERVED_FEATURES = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"else","else",-1508377146),null,new cljs.core.Keyword(null,"none","none",1333468478),null], null), null); cljs.tools.reader.has_feature_QMARK_ = (function cljs$tools$reader$has_feature_QMARK_(rdr,feature,opts){ if((feature instanceof cljs.core.Keyword)){ return (cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"default","default",-1987822328),feature)) || (cljs.core.contains_QMARK_.call(null,cljs.core.get.call(null,opts,new cljs.core.Keyword(null,"features","features",-1146962336)),feature)); } else { return cljs.tools.reader.reader_types.reader_error.call(null,rdr,[cljs.core.str("Feature should be a keyword: "),cljs.core.str(feature)].join('')); } }); cljs.tools.reader.check_eof_error = (function cljs$tools$reader$check_eof_error(form,rdr,first_line){ if((form === cljs.tools.reader.READ_EOF)){ if((first_line < (0))){ return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"EOF while reading"); } else { return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"EOF while reading, starting at line ",first_line); } } else { return null; } }); cljs.tools.reader.check_reserved_features = (function cljs$tools$reader$check_reserved_features(rdr,form){ if(cljs.core.truth_(cljs.core.get.call(null,cljs.tools.reader.RESERVED_FEATURES,form))){ return cljs.tools.reader.reader_types.reader_error.call(null,rdr,[cljs.core.str("Feature name "),cljs.core.str(form),cljs.core.str(" is reserved")].join('')); } else { return null; } }); cljs.tools.reader.check_invalid_read_cond = (function cljs$tools$reader$check_invalid_read_cond(form,rdr,first_line){ if((form === cljs.tools.reader.READ_FINISHED)){ if((first_line < (0))){ return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"read-cond requires an even number of forms"); } else { return cljs.tools.reader.reader_types.reader_error.call(null,rdr,[cljs.core.str("read-cond starting on line "),cljs.core.str(first_line),cljs.core.str(" requires an even number of forms")].join('')); } } else { return null; } }); /** * Read next form and suppress. Return nil or READ_FINISHED. */ cljs.tools.reader.read_suppress = (function cljs$tools$reader$read_suppress(first_line,rdr,opts,pending_forms){ var _STAR_suppress_read_STAR_22397 = cljs.tools.reader._STAR_suppress_read_STAR_; cljs.tools.reader._STAR_suppress_read_STAR_ = true; try{var form = cljs.tools.reader.read_STAR_.call(null,rdr,false,cljs.tools.reader.READ_EOF,")",opts,pending_forms); cljs.tools.reader.check_eof_error.call(null,form,rdr,first_line); if((form === cljs.tools.reader.READ_FINISHED)){ return cljs.tools.reader.READ_FINISHED; } else { return null; } }finally {cljs.tools.reader._STAR_suppress_read_STAR_ = _STAR_suppress_read_STAR_22397; }}); if(typeof cljs.tools.reader.NO_MATCH !== 'undefined'){ } else { cljs.tools.reader.NO_MATCH = (new Object()); } /** * Read next feature. If matched, read next form and return. * Otherwise, read and skip next form, returning READ_FINISHED or nil. */ cljs.tools.reader.match_feature = (function cljs$tools$reader$match_feature(first_line,rdr,opts,pending_forms){ var feature = cljs.tools.reader.read_STAR_.call(null,rdr,false,cljs.tools.reader.READ_EOF,")",opts,pending_forms); cljs.tools.reader.check_eof_error.call(null,feature,rdr,first_line); if(cljs.core._EQ_.call(null,feature,cljs.tools.reader.READ_FINISHED)){ return cljs.tools.reader.READ_FINISHED; } else { cljs.tools.reader.check_reserved_features.call(null,rdr,feature); if(cljs.core.truth_(cljs.tools.reader.has_feature_QMARK_.call(null,rdr,feature,opts))){ var G__22405 = cljs.tools.reader.read_STAR_.call(null,rdr,false,cljs.tools.reader.READ_EOF,")",opts,pending_forms); cljs.tools.reader.check_eof_error.call(null,G__22405,rdr,first_line); cljs.tools.reader.check_invalid_read_cond.call(null,G__22405,rdr,first_line); return G__22405; } else { var or__6543__auto__ = cljs.tools.reader.read_suppress.call(null,first_line,rdr,opts,pending_forms); if(cljs.core.truth_(or__6543__auto__)){ return or__6543__auto__; } else { return cljs.tools.reader.NO_MATCH; } } } }); cljs.tools.reader.read_cond_delimited = (function cljs$tools$reader$read_cond_delimited(rdr,splicing,opts,pending_forms){ var first_line = (cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,rdr))?cljs.tools.reader.reader_types.get_line_number.call(null,rdr):(-1)); var result = (function (){var matched = cljs.tools.reader.NO_MATCH; var finished = null; while(true){ if((matched === cljs.tools.reader.NO_MATCH)){ var match = cljs.tools.reader.match_feature.call(null,first_line,rdr,opts,pending_forms); if((match === cljs.tools.reader.READ_FINISHED)){ return cljs.tools.reader.READ_FINISHED; } else { var G__22462 = match; var G__22463 = null; matched = G__22462; finished = G__22463; continue; } } else { if(!((finished === cljs.tools.reader.READ_FINISHED))){ var G__22469 = matched; var G__22470 = cljs.tools.reader.read_suppress.call(null,first_line,rdr,opts,pending_forms); matched = G__22469; finished = G__22470; continue; } else { return matched; } } break; } })(); if((result === cljs.tools.reader.READ_FINISHED)){ return rdr; } else { if(cljs.core.truth_(splicing)){ if(((!((result == null)))?((((result.cljs$lang$protocol_mask$partition0$ & (16777216))) || ((cljs.core.PROTOCOL_SENTINEL === result.cljs$core$ISequential$)))?true:false):false)){ goog.array.insertArrayAt(pending_forms,cljs.core.to_array.call(null,result),(0)); return rdr; } else { return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"Spliced form list in read-cond-splicing must implement java.util.List."); } } else { return result; } } }); cljs.tools.reader.read_cond = (function cljs$tools$reader$read_cond(rdr,_,opts,pending_forms){ if(cljs.core.not.call(null,(function (){var and__6531__auto__ = opts; if(cljs.core.truth_(and__6531__auto__)){ return new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"preserve","preserve",1276846509),null,new cljs.core.Keyword(null,"allow","allow",-1857325745),null], null), null).call(null,new cljs.core.Keyword(null,"read-cond","read-cond",1056899244).cljs$core$IFn$_invoke$arity$1(opts)); } else { return and__6531__auto__; } })())){ throw cljs.core.ex_info.call(null,"Conditional read not allowed",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"runtime-exception","runtime-exception",-1495664514)], null)); } else { } var temp__4655__auto__ = cljs.tools.reader.reader_types.read_char.call(null,rdr); if(cljs.core.truth_(temp__4655__auto__)){ var ch = temp__4655__auto__; var splicing = cljs.core._EQ_.call(null,ch,"@"); var ch__$1 = ((splicing)?cljs.tools.reader.reader_types.read_char.call(null,rdr):ch); if(splicing){ if(cljs.core.truth_(cljs.tools.reader._STAR_read_delim_STAR_)){ } else { cljs.tools.reader.reader_types.reader_error.call(null,rdr,"cond-splice not in list"); } } else { } var temp__4655__auto____$1 = ((cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,ch__$1))?cljs.tools.reader.impl.commons.read_past.call(null,cljs.tools.reader.impl.utils.whitespace_QMARK_,rdr):ch__$1); if(cljs.core.truth_(temp__4655__auto____$1)){ var ch__$2 = temp__4655__auto____$1; if(cljs.core.not_EQ_.call(null,ch__$2,"(")){ throw cljs.core.ex_info.call(null,"read-cond body must be a list",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"runtime-exception","runtime-exception",-1495664514)], null)); } else { var _STAR_suppress_read_STAR_22500 = cljs.tools.reader._STAR_suppress_read_STAR_; cljs.tools.reader._STAR_suppress_read_STAR_ = (function (){var or__6543__auto__ = cljs.tools.reader._STAR_suppress_read_STAR_; if(cljs.core.truth_(or__6543__auto__)){ return or__6543__auto__; } else { return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"preserve","preserve",1276846509),new cljs.core.Keyword(null,"read-cond","read-cond",1056899244).cljs$core$IFn$_invoke$arity$1(opts)); } })(); try{if(cljs.core.truth_(cljs.tools.reader._STAR_suppress_read_STAR_)){ return cljs.tools.reader.impl.utils.reader_conditional.call(null,cljs.tools.reader.read_list.call(null,rdr,ch__$2,opts,pending_forms),splicing); } else { return cljs.tools.reader.read_cond_delimited.call(null,rdr,splicing,opts,pending_forms); } }finally {cljs.tools.reader._STAR_suppress_read_STAR_ = _STAR_suppress_read_STAR_22500; }} } else { return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"EOF while reading character"); } } else { return cljs.tools.reader.reader_types.reader_error.call(null,rdr,"EOF while reading character"); } }); cljs.tools.reader.arg_env = null; /** * Get a symbol for an anonymous ?argument? */ cljs.tools.reader.garg = (function cljs$tools$reader$garg(n){ return cljs.core.symbol.call(null,[cljs.core.str(((((-1) === n))?"rest":[cljs.core.str("p"),cljs.core.str(n)].join(''))),cljs.core.str("__"),cljs.core.str(cljs.tools.reader.impl.utils.next_id.call(null)),cljs.core.str("#")].join('')); }); cljs.tools.reader.read_fn = (function cljs$tools$reader$read_fn(rdr,_,opts,pending_forms){ if(cljs.core.truth_(cljs.tools.reader.arg_env)){ throw cljs.core.ex_info.call(null,"Nested #()s are not allowed",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-state","illegal-state",-1519851182)], null)); } else { } var arg_env22515 = cljs.tools.reader.arg_env; cljs.tools.reader.arg_env = cljs.core.sorted_map.call(null); try{var form = cljs.tools.reader.read_STAR_.call(null,(function (){var G__22516 = rdr; cljs.tools.reader.reader_types.unread.call(null,G__22516,"("); return G__22516; })(),true,null,opts,pending_forms); var rargs = cljs.core.rseq.call(null,cljs.tools.reader.arg_env); var args = ((rargs)?(function (){var higharg = cljs.core.key.call(null,cljs.core.first.call(null,rargs)); var args = (function (){var i = (1); var args = cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY); while(true){ if((i > higharg)){ return cljs.core.persistent_BANG_.call(null,args); } else { var G__22523 = (i + (1)); var G__22524 = cljs.core.conj_BANG_.call(null,args,(function (){var or__6543__auto__ = cljs.core.get.call(null,cljs.tools.reader.arg_env,i); if(cljs.core.truth_(or__6543__auto__)){ return or__6543__auto__; } else { return cljs.tools.reader.garg.call(null,i); } })()); i = G__22523; args = G__22524; continue; } break; } })(); var args__$1 = (cljs.core.truth_(cljs.tools.reader.arg_env.call(null,(-1)))?cljs.core.conj.call(null,args,new cljs.core.Symbol(null,"&","&",-2144855648,null),cljs.tools.reader.arg_env.call(null,(-1))):args); return args__$1; })():cljs.core.PersistentVector.EMPTY); return cljs.core._conj.call(null,(function (){var x__7380__auto__ = args; return cljs.core._conj.call(null,(function (){var x__7380__auto____$1 = form; return cljs.core._conj.call(null,cljs.core.List.EMPTY,x__7380__auto____$1); })(),x__7380__auto__); })(),new cljs.core.Symbol(null,"fn*","fn*",-752876845,null)); }finally {cljs.tools.reader.arg_env = arg_env22515; }}); /** * Registers an argument to the arg-env */ cljs.tools.reader.register_arg = (function cljs$tools$reader$register_arg(n){ if(cljs.core.truth_(cljs.tools.reader.arg_env)){ var temp__4655__auto__ = cljs.tools.reader.arg_env.call(null,n); if(cljs.core.truth_(temp__4655__auto__)){ var ret = temp__4655__auto__; return ret; } else { var g = cljs.tools.reader.garg.call(null,n); cljs.tools.reader.arg_env = cljs.core.assoc.call(null,cljs.tools.reader.arg_env,n,g); return g; } } else { throw cljs.core.ex_info.call(null,"Arg literal not in #()",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-state","illegal-state",-1519851182)], null)); } }); cljs.tools.reader.read_arg = (function cljs$tools$reader$read_arg(rdr,pct,opts,pending_forms){ if((cljs.tools.reader.arg_env == null)){ return cljs.tools.reader.read_symbol.call(null,rdr,pct); } else { var ch = cljs.tools.reader.reader_types.peek_char.call(null,rdr); if((cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,ch)) || (cljs.tools.reader.macro_terminating_QMARK_.call(null,ch)) || ((ch == null))){ return cljs.tools.reader.register_arg.call(null,(1)); } else { if(cljs.core._EQ_.call(null,ch,"&")){ cljs.tools.reader.reader_types.read_char.call(null,rdr); return cljs.tools.reader.register_arg.call(null,(-1)); } else { var n = cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms); if(!(cljs.core.integer_QMARK_.call(null,n))){ throw cljs.core.ex_info.call(null,"Arg literal must be %, %& or %integer",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-state","illegal-state",-1519851182)], null)); } else { return cljs.tools.reader.register_arg.call(null,n); } } } } }); cljs.tools.reader.gensym_env = null; cljs.tools.reader.read_unquote = (function cljs$tools$reader$read_unquote(rdr,comma,opts,pending_forms){ var temp__4655__auto__ = cljs.tools.reader.reader_types.peek_char.call(null,rdr); if(cljs.core.truth_(temp__4655__auto__)){ var ch = temp__4655__auto__; if(cljs.core._EQ_.call(null,"@",ch)){ return cljs.tools.reader.wrapping_reader.call(null,new cljs.core.Symbol("clojure.core","unquote-splicing","clojure.core/unquote-splicing",-552003150,null)).call(null,(function (){var G__22546 = rdr; cljs.tools.reader.reader_types.read_char.call(null,G__22546); return G__22546; })(),"@",opts,pending_forms); } else { return cljs.tools.reader.wrapping_reader.call(null,new cljs.core.Symbol("clojure.core","unquote","clojure.core/unquote",843087510,null)).call(null,rdr,"~",opts,pending_forms); } } else { return null; } }); cljs.tools.reader.unquote_splicing_QMARK_ = (function cljs$tools$reader$unquote_splicing_QMARK_(form){ return (cljs.core.seq_QMARK_.call(null,form)) && (cljs.core._EQ_.call(null,cljs.core.first.call(null,form),new cljs.core.Symbol("clojure.core","unquote-splicing","clojure.core/unquote-splicing",-552003150,null))); }); cljs.tools.reader.unquote_QMARK_ = (function cljs$tools$reader$unquote_QMARK_(form){ return (cljs.core.seq_QMARK_.call(null,form)) && (cljs.core._EQ_.call(null,cljs.core.first.call(null,form),new cljs.core.Symbol("clojure.core","unquote","clojure.core/unquote",843087510,null))); }); /** * Expand a list by resolving its syntax quotes and unquotes */ cljs.tools.reader.expand_list = (function cljs$tools$reader$expand_list(s){ var s__$1 = cljs.core.seq.call(null,s); var r = cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY); while(true){ if(s__$1){ var item = cljs.core.first.call(null,s__$1); var ret = cljs.core.conj_BANG_.call(null,r,(cljs.core.truth_(cljs.tools.reader.unquote_QMARK_.call(null,item))?cljs.core._conj.call(null,(function (){var x__7380__auto__ = cljs.core.second.call(null,item); return cljs.core._conj.call(null,cljs.core.List.EMPTY,x__7380__auto__); })(),new cljs.core.Symbol("clojure.core","list","clojure.core/list",-1119203325,null)):(cljs.core.truth_(cljs.tools.reader.unquote_splicing_QMARK_.call(null,item))?cljs.core.second.call(null,item):cljs.core._conj.call(null,(function (){var x__7380__auto__ = cljs.tools.reader.syntax_quote_STAR_.call(null,item); return cljs.core._conj.call(null,cljs.core.List.EMPTY,x__7380__auto__); })(),new cljs.core.Symbol("clojure.core","list","clojure.core/list",-1119203325,null)) ))); var G__22559 = cljs.core.next.call(null,s__$1); var G__22560 = ret; s__$1 = G__22559; r = G__22560; continue; } else { return cljs.core.seq.call(null,cljs.core.persistent_BANG_.call(null,r)); } break; } }); /** * Flatten a map into a seq of alternate keys and values */ cljs.tools.reader.flatten_map = (function cljs$tools$reader$flatten_map(form){ var s = cljs.core.seq.call(null,form); var key_vals = cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY); while(true){ if(s){ var e = cljs.core.first.call(null,s); var G__22563 = cljs.core.next.call(null,s); var G__22564 = cljs.core.conj_BANG_.call(null,cljs.core.conj_BA