UNPKG

mini-program-cljs

Version:

1,094 lines (1,023 loc) 82.5 kB
goog.provide('cljs.tools.reader'); goog.require('cljs.core'); goog.require('cljs.tools.reader.reader_types'); goog.require('cljs.tools.reader.impl.utils'); goog.require('cljs.tools.reader.impl.commons'); goog.require('cljs.tools.reader.impl.errors'); goog.require('goog.array'); goog.require('goog.string'); goog.require('goog.string.StringBuffer'); cljs.tools.reader.macro_terminating_QMARK_ = (function cljs$tools$reader$macro_terminating_QMARK_(ch){ var G__32345 = ch; switch (G__32345) { 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,kind,initch){ if((initch == null)){ return cljs.tools.reader.impl.errors.throw_eof_at_start(rdr,kind); } else { cljs.tools.reader.sb.clear(); var ch = initch; while(true){ if(((cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)) || (cljs.tools.reader.macro_terminating_QMARK_(ch)) || ((ch == null)))){ if((ch == null)){ } else { rdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch); } return cljs.tools.reader.sb.toString(); } else { cljs.tools.reader.sb.append(ch); var G__32855 = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); ch = G__32855; continue; } break; } } }); cljs.tools.reader.read_dispatch = (function cljs$tools$reader$read_dispatch(rdr,_,opts,pending_forms){ var temp__5733__auto__ = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); if(cljs.core.truth_(temp__5733__auto__)){ var ch = temp__5733__auto__; var temp__5733__auto____$1 = (cljs.tools.reader.dispatch_macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.dispatch_macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.dispatch_macros.call(null,ch)); if(cljs.core.truth_(temp__5733__auto____$1)){ var dm = temp__5733__auto____$1; return (dm.cljs$core$IFn$_invoke$arity$4 ? dm.cljs$core$IFn$_invoke$arity$4(rdr,ch,opts,pending_forms) : dm.call(null,rdr,ch,opts,pending_forms)); } else { var G__32350 = (function (){var G__32354 = rdr; G__32354.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch); return G__32354; })(); var G__32351 = ch; var G__32352 = opts; var G__32353 = pending_forms; return (cljs.tools.reader.read_tagged.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.read_tagged.cljs$core$IFn$_invoke$arity$4(G__32350,G__32351,G__32352,G__32353) : cljs.tools.reader.read_tagged.call(null,G__32350,G__32351,G__32352,G__32353)); } } else { return cljs.tools.reader.impl.errors.throw_eof_at_dispatch(rdr); } }); cljs.tools.reader.read_unmatched_delimiter = (function cljs$tools$reader$read_unmatched_delimiter(rdr,ch,opts,pending_forms){ return cljs.tools.reader.impl.errors.throw_unmatch_delimiter(rdr,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 = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); while(true){ if(("\"" === ch__$1)){ return cljs.core.re_pattern(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb)); } else { if((ch__$1 == null)){ return cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,"regex","regex",939488856),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sb], 0)); } else { sb.append(ch__$1); if(("\\" === ch__$1)){ var ch_32857__$2 = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); if((ch_32857__$2 == null)){ cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,"regex","regex",939488856),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sb], 0)); } else { } sb.append(ch_32857__$2); } else { } var G__32860 = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); ch__$1 = G__32860; continue; } } break; } }); cljs.tools.reader.read_unicode_char = (function cljs$tools$reader$read_unicode_char(var_args){ var G__32360 = arguments.length; switch (G__32360) { 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(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.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(token) === l)){ } else { cljs.tools.reader.impl.errors.throw_invalid_unicode_literal(null,token); } var i = offset; var uc = (0); while(true){ if((i === l)){ return String.fromCharCode(uc); } else { var d = cljs.tools.reader.impl.utils.char_code(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,i),base); if((d === (-1))){ return cljs.tools.reader.impl.errors.throw_invalid_unicode_digit_in_token(null,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,i),token); } else { var G__32867 = (i + (1)); var G__32868 = (d + (uc * base)); i = G__32867; uc = G__32868; 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.impl.utils.char_code(initch,base); while(true){ if((uc === (-1))){ return cljs.tools.reader.impl.errors.throw_invalid_unicode_digit(rdr,initch); } else { if((!((i === length)))){ var ch = rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null); if(cljs.core.truth_((function (){var or__4185__auto__ = cljs.tools.reader.impl.utils.whitespace_QMARK_(ch); if(or__4185__auto__){ return or__4185__auto__; } else { var or__4185__auto____$1 = (cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.macros.call(null,ch)); if(cljs.core.truth_(or__4185__auto____$1)){ return or__4185__auto____$1; } else { return (ch == null); } } })())){ if(cljs.core.truth_(exact_QMARK_)){ return cljs.tools.reader.impl.errors.throw_invalid_unicode_len(rdr,i,length); } else { return String.fromCharCode(uc); } } else { var d = cljs.tools.reader.impl.utils.char_code(ch,base); rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); if((d === (-1))){ return cljs.tools.reader.impl.errors.throw_invalid_unicode_digit(rdr,ch); } else { var G__32869 = (i + (1)); var G__32870 = (d + (uc * base)); i = G__32869; uc = G__32870; 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 = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); if((!((ch == null)))){ var token = ((((cljs.tools.reader.macro_terminating_QMARK_(ch)) || (cljs.tools.reader.impl.utils.whitespace_QMARK_(ch))))?cljs.core.str.cljs$core$IFn$_invoke$arity$1(ch):cljs.tools.reader.read_token(rdr,new cljs.core.Keyword(null,"character","character",380652989),ch)); var token_len = token.length; if(((1) === token_len)){ return token.charAt((0)); } else { if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,"newline")){ return "\n"; } else { if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,"space")){ return " "; } else { if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,"tab")){ return "\t"; } else { if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,"backspace")){ return "\b"; } else { if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,"formfeed")){ return "\f"; } else { if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,"return")){ return "\r"; } else { if(cljs.core.truth_(goog.string.startsWith(token,"u"))){ var c = cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4(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.impl.errors.throw_invalid_character_literal(rdr,ic.toString((16))); } 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.impl.errors.throw_invalid_octal_len(rdr,token); } else { var offset = (1); var base = (8); var uc = cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4(token,offset,len,base); if((!(cljs.tools.reader.valid_octal_QMARK_(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(token,offset),base)))){ return cljs.tools.reader.impl.errors.throw_bad_octal_number(rdr); } else { return uc; } } } else { return cljs.tools.reader.impl.errors.throw_unsupported_character(rdr,token); } } } } } } } } } } else { return cljs.tools.reader.impl.errors.throw_eof_in_character(rdr); } }); cljs.tools.reader.starting_line_col_info = (function cljs$tools$reader$starting_line_col_info(rdr){ if(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [rdr.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),((rdr.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null) - (1)) | (0))], null); } else { return null; } }); cljs.tools.reader.ending_line_col_info = (function cljs$tools$reader$ending_line_col_info(rdr){ if(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [rdr.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),rdr.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null)], null); } else { return null; } }); if((typeof cljs !== 'undefined') && (typeof cljs.tools !== 'undefined') && (typeof cljs.tools.reader !== 'undefined') && (typeof cljs.tools.reader.READ_EOF !== 'undefined')){ } else { cljs.tools.reader.READ_EOF = (new Object()); } if((typeof cljs !== 'undefined') && (typeof cljs.tools !== 'undefined') && (typeof cljs.tools.reader !== 'undefined') && (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(kind,delim,rdr,opts,pending_forms){ var vec__32418 = cljs.tools.reader.starting_line_col_info(rdr); var start_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32418,(0),null); var start_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32418,(1),null); var delim__$1 = cljs.tools.reader.impl.utils.char$(delim); var a = cljs.core.transient$(cljs.core.PersistentVector.EMPTY); while(true){ var form = (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(rdr,false,cljs.tools.reader.READ_EOF,delim__$1,opts,pending_forms) : 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_(a); } else { if((form === cljs.tools.reader.READ_EOF)){ return cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5(rdr,kind,start_line,start_column,cljs.core.count(a)); } else { var G__32880 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(a,form); a = G__32880; continue; } } break; } }); /** * Reads and returns a collection ended with delim */ cljs.tools.reader.read_delimited = (function cljs$tools$reader$read_delimited(kind,delim,rdr,opts,pending_forms){ var _STAR_read_delim_STAR__orig_val__32428 = cljs.tools.reader._STAR_read_delim_STAR_; var _STAR_read_delim_STAR__temp_val__32429 = true; (cljs.tools.reader._STAR_read_delim_STAR_ = _STAR_read_delim_STAR__temp_val__32429); try{return cljs.tools.reader.read_delimited_internal(kind,delim,rdr,opts,pending_forms); }finally {(cljs.tools.reader._STAR_read_delim_STAR_ = _STAR_read_delim_STAR__orig_val__32428); }}); /** * 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__32436 = cljs.tools.reader.starting_line_col_info(rdr); var start_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32436,(0),null); var start_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32436,(1),null); var the_list = cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,"list","list",765357683),")",rdr,opts,pending_forms); var vec__32439 = cljs.tools.reader.ending_line_col_info(rdr); var end_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32439,(0),null); var end_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32439,(1),null); return cljs.core.with_meta(((cljs.core.empty_QMARK_(the_list))?cljs.core.List.EMPTY:cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.list,the_list)),(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5735__auto__ = cljs.tools.reader.reader_types.get_file_name(rdr); if(cljs.core.truth_(temp__5735__auto__)){ var file = temp__5735__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)], 0)):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__32456 = cljs.tools.reader.starting_line_col_info(rdr); var start_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32456,(0),null); var start_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32456,(1),null); var the_vector = cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,"vector","vector",1902966158),"]",rdr,opts,pending_forms); var vec__32459 = cljs.tools.reader.ending_line_col_info(rdr); var end_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32459,(0),null); var end_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32459,(1),null); return cljs.core.with_meta(the_vector,(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5735__auto__ = cljs.tools.reader.reader_types.get_file_name(rdr); if(cljs.core.truth_(temp__5735__auto__)){ var file = temp__5735__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)], 0)):null)); }); /** * 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__32468 = cljs.tools.reader.starting_line_col_info(rdr); var start_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32468,(0),null); var start_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32468,(1),null); var the_map = cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,"map","map",1371690461),"}",rdr,opts,pending_forms); var map_count = cljs.core.count(the_map); var ks = cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),the_map); var key_set = cljs.core.set(ks); var vec__32471 = cljs.tools.reader.ending_line_col_info(rdr); var end_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32471,(0),null); var end_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32471,(1),null); if(cljs.core.odd_QMARK_(map_count)){ cljs.tools.reader.impl.errors.throw_odd_map(rdr,start_line,start_column,the_map); } else { } if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(key_set),cljs.core.count(ks))){ } else { cljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,"map","map",1371690461),ks); } return cljs.core.with_meta((((map_count <= ((2) * cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD)))?cljs.core.PersistentArrayMap.fromArray(cljs.core.to_array(the_map),true,true):cljs.core.PersistentHashMap.fromArray(cljs.core.to_array(the_map),true)),(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5735__auto__ = cljs.tools.reader.reader_types.get_file_name(rdr); if(cljs.core.truth_(temp__5735__auto__)){ var file = temp__5735__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)], 0)):null)); }); cljs.tools.reader.read_number = (function cljs$tools$reader$read_number(rdr,initch){ var sb = (function (){var G__32482 = (new goog.string.StringBuffer()); G__32482.append(initch); return G__32482; })(); var ch = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); while(true){ if(cljs.core.truth_((function (){var or__4185__auto__ = cljs.tools.reader.impl.utils.whitespace_QMARK_(ch); if(or__4185__auto__){ return or__4185__auto__; } else { var or__4185__auto____$1 = (cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.macros.call(null,ch)); if(cljs.core.truth_(or__4185__auto____$1)){ return or__4185__auto____$1; } else { return (ch == null); } } })())){ var s = cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb); rdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch); var or__4185__auto__ = cljs.tools.reader.impl.commons.match_number(s); if(cljs.core.truth_(or__4185__auto__)){ return or__4185__auto__; } else { return cljs.tools.reader.impl.errors.throw_invalid_number(rdr,s); } } else { var G__32895 = (function (){var G__32499 = sb; G__32499.append(ch); return G__32499; })(); var G__32896 = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); sb = G__32895; ch = G__32896; continue; } break; } }); cljs.tools.reader.escape_char = (function cljs$tools$reader$escape_char(sb,rdr){ var ch = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); var G__32504 = ch; switch (G__32504) { 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 = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); if(((-1) === parseInt((ch__$1 | (0)),(16)))){ return cljs.tools.reader.impl.errors.throw_invalid_unicode_escape(rdr,ch__$1); } else { return cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5(rdr,ch__$1,(16),(4),true); } break; default: if(cljs.tools.reader.impl.utils.numeric_QMARK_(ch)){ var ch__$1 = cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5(rdr,ch,(8),(3),false); if(((ch__$1 | (0)) > (255))){ return cljs.tools.reader.impl.errors.throw_bad_octal_number(rdr); } else { return ch__$1; } } else { return cljs.tools.reader.impl.errors.throw_bad_escape_char(rdr,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 = reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); while(true){ if((ch == null)){ return cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(reader,new cljs.core.Keyword(null,"string","string",-1989541586),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["\"",sb], 0)); } else { var G__32512 = ch; switch (G__32512) { case "\\": var G__32899 = (function (){var G__32513 = sb; G__32513.append(cljs.tools.reader.escape_char(sb,reader)); return G__32513; })(); var G__32900 = reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); sb = G__32899; ch = G__32900; continue; break; case "\"": return cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb); break; default: var G__32901 = (function (){var G__32516 = sb; G__32516.append(ch); return G__32516; })(); var G__32902 = reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); sb = G__32901; ch = G__32902; 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(rdr); var filem = (((file == null))?null:new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"file","file",-1269645878),file], null)); var vec__32522 = cljs.tools.reader.ending_line_col_info(rdr); var end_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32522,(0),null); var end_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32522,(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.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([filem,lcm], 0)); } }); cljs.tools.reader.read_symbol = (function cljs$tools$reader$read_symbol(rdr,initch){ var vec__32528 = cljs.tools.reader.starting_line_col_info(rdr); var line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32528,(0),null); var column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32528,(1),null); var token = cljs.tools.reader.read_token(rdr,new cljs.core.Keyword(null,"symbol","symbol",-1038572696),initch); if((token == null)){ return null; } else { var G__32533 = token; switch (G__32533) { 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; default: var p = cljs.tools.reader.impl.commons.parse_symbol(token); if((!((p == null)))){ var sym = cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(p.cljs$core$IIndexed$_nth$arity$2(null,(0)),p.cljs$core$IIndexed$_nth$arity$2(null,(1))); return sym.cljs$core$IWithMeta$_with_meta$arity$2(null,cljs.tools.reader.loc_info(rdr,line,column)); } else { return cljs.tools.reader.impl.errors.throw_invalid(rdr,new cljs.core.Keyword(null,"symbol","symbol",-1038572696),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_alias = (function cljs$tools$reader$resolve_alias(sym){ return cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader._STAR_alias_map_STAR_,sym); }); cljs.tools.reader.resolve_ns = (function cljs$tools$reader$resolve_ns(sym){ var or__4185__auto__ = cljs.tools.reader.resolve_alias(sym); if(cljs.core.truth_(or__4185__auto__)){ return or__4185__auto__; } else { var temp__5735__auto__ = cljs.core.find_ns(sym); if(cljs.core.truth_(temp__5735__auto__)){ var ns = temp__5735__auto__; return cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.ns_name(ns)); } else { return null; } } }); cljs.tools.reader.read_keyword = (function cljs$tools$reader$read_keyword(reader,initch,opts,pending_forms){ var ch = reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); if((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)))){ var token = cljs.tools.reader.read_token(reader,new cljs.core.Keyword(null,"keyword","keyword",811389747),ch); var s = cljs.tools.reader.impl.commons.parse_symbol(token); if((!((s == null)))){ var ns = s.cljs$core$IIndexed$_nth$arity$2(null,(0)); var name = s.cljs$core$IIndexed$_nth$arity$2(null,(1)); if((":" === token.charAt((0)))){ if((!((ns == null)))){ var temp__5733__auto__ = cljs.tools.reader.resolve_alias(cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(ns,(1)))); if(cljs.core.truth_(temp__5733__auto__)){ var ns__$1 = temp__5733__auto__; return cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns__$1),name); } else { return cljs.tools.reader.impl.errors.throw_invalid(reader,new cljs.core.Keyword(null,"keyword","keyword",811389747),[":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(token)].join('')); } } else { var temp__5733__auto__ = cljs.core._STAR_ns_STAR_; if(cljs.core.truth_(temp__5733__auto__)){ var ns__$1 = temp__5733__auto__; return cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns__$1),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(name,(1))); } else { return cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(reader,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["Invalid token: :",token], 0)); } } } else { return cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(ns,name); } } else { return cljs.tools.reader.impl.errors.throw_invalid(reader,new cljs.core.Keyword(null,"keyword","keyword",811389747),[":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(token)].join('')); } } else { return cljs.tools.reader.impl.errors.throw_single_colon(reader); } }); /** * 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){ return (new cljs.core.List(null,sym,(new cljs.core.List(null,(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)),null,(1),null)),(2),null)); }); }); /** * 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_(rdr)) && ((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(cljs.tools.reader.reader_types.peek_char(rdr))))))){ return cljs.tools.reader.reader_types.log_source_STAR_(rdr,(function (){ var vec__32582 = cljs.tools.reader.starting_line_col_info(rdr); var line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32582,(0),null); var column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32582,(1),null); var m = cljs.tools.reader.impl.utils.desugar_meta((cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms))); if(cljs.core.map_QMARK_(m)){ } else { cljs.tools.reader.impl.errors.throw_bad_metadata(rdr,m); } var o = (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : 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__4174__auto__ = line; if(cljs.core.truth_(and__4174__auto__)){ return cljs.core.seq_QMARK_(o); } else { return and__4174__auto__; } })())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,"line","line",212345235),line,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"column","column",2078222095),column], 0)):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(o,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.meta(o),m__$1], 0))); } else { return cljs.core.reset_meta_BANG_(o,m__$1); } } else { return cljs.tools.reader.impl.errors.throw_bad_metadata_target(rdr,o); } })); } else { var vec__32587 = cljs.tools.reader.starting_line_col_info(rdr); var line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32587,(0),null); var column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32587,(1),null); var m = cljs.tools.reader.impl.utils.desugar_meta((cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms))); if(cljs.core.map_QMARK_(m)){ } else { cljs.tools.reader.impl.errors.throw_bad_metadata(rdr,m); } var o = (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : 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__4174__auto__ = line; if(cljs.core.truth_(and__4174__auto__)){ return cljs.core.seq_QMARK_(o); } else { return and__4174__auto__; } })())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,"line","line",212345235),line,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"column","column",2078222095),column], 0)):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(o,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.meta(o),m__$1], 0))); } else { return cljs.core.reset_meta_BANG_(o,m__$1); } } else { return cljs.tools.reader.impl.errors.throw_bad_metadata_target(rdr,o); } } }); cljs.tools.reader.read_set = (function cljs$tools$reader$read_set(rdr,_,opts,pending_forms){ var vec__32598 = cljs.tools.reader.starting_line_col_info(rdr); var start_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32598,(0),null); var start_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32598,(1),null); var start_column__$1 = (cljs.core.truth_(start_column)?((start_column - (1)) | (0)):null); var coll = cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,"set","set",304602554),"}",rdr,opts,pending_forms); var the_set = cljs.core.set(coll); var vec__32601 = cljs.tools.reader.ending_line_col_info(rdr); var end_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32601,(0),null); var end_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32601,(1),null); if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(coll),cljs.core.count(the_set))){ } else { cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,"set","set",304602554),coll)], 0)); } return cljs.core.with_meta(the_set,(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5735__auto__ = cljs.tools.reader.reader_types.get_file_name(rdr); if(cljs.core.truth_(temp__5735__auto__)){ var file = temp__5735__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)], 0)):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__32609 = rdr; (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(G__32609,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,G__32609,true,null,opts,pending_forms)); return G__32609; }); cljs.tools.reader.read_symbolic_value = (function cljs$tools$reader$read_symbolic_value(rdr,_,opts,pending_forms){ var sym = (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)); var G__32610 = sym; if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,"NaN","NaN",666918153,null),G__32610)){ return Number.NaN; } else { if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,"-Inf","-Inf",-2123243689,null),G__32610)){ return Number.NEGATIVE_INFINITY; } else { if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,"Inf","Inf",647172781,null),G__32610)){ return Number.POSITIVE_INFINITY; } else { return cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([["Invalid token: ##",cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join('')], 0)); } } } }); 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_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"default","default",-1987822328),feature)) || (cljs.core.contains_QMARK_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,"features","features",-1146962336)),feature))); } else { return cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["Feature should be a keyword: ",feature], 0)); } }); cljs.tools.reader.check_eof_error = (function cljs$tools$reader$check_eof_error(form,rdr,first_line){ if((form === cljs.tools.reader.READ_EOF)){ return cljs.tools.reader.impl.errors.throw_eof_error(rdr,(((first_line < (0)))?first_line:false)); } 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.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.RESERVED_FEATURES,form))){ return cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["Feature name ",form," is reserved"], 0)); } 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.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["read-cond requires an even number of forms"], 0)); } else { return cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["read-cond starting on line ",first_line," requires an even number of forms"], 0)); } } 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__orig_val__32639 = cljs.tools.reader._STAR_suppress_read_STAR_; var _STAR_suppress_read_STAR__temp_val__32640 = true; (cljs.tools.reader._STAR_suppress_read_STAR_ = _STAR_suppress_read_STAR__temp_val__32640); try{var form = (function (){var G__32644 = rdr; var G__32645 = false; var G__32646 = cljs.tools.reader.READ_EOF; var G__32647 = ")"; var G__32648 = opts; var G__32649 = pending_forms; return (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(G__32644,G__32645,G__32646,G__32647,G__32648,G__32649) : cljs.tools.reader.read_STAR_.call(null,G__32644,G__32645,G__32646,G__32647,G__32648,G__32649)); })(); cljs.tools.reader.check_eof_error(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__orig_val__32639); }}); if((typeof cljs !== 'undefined') && (typeof cljs.tools !== 'undefined') && (typeof cljs.tools.reader !== 'undefined') && (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 = (function (){var G__32654 = rdr; var G__32655 = false; var G__32656 = cljs.tools.reader.READ_EOF; var G__32657 = ")"; var G__32658 = opts; var G__32659 = pending_forms; return (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(G__32654,G__32655,G__32656,G__32657,G__32658,G__32659) : cljs.tools.reader.read_STAR_.call(null,G__32654,G__32655,G__32656,G__32657,G__32658,G__32659)); })(); cljs.tools.reader.check_eof_error(feature,rdr,first_line); if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(feature,cljs.tools.reader.READ_FINISHED)){ return cljs.tools.reader.READ_FINISHED; } else { cljs.tools.reader.check_reserved_features(rdr,feature); if(cljs.tools.reader.has_feature_QMARK_(rdr,feature,opts)){ var G__32667 = (function (){var G__32668 = rdr; var G__32669 = false; var G__32670 = cljs.tools.reader.READ_EOF; var G__32671 = ")"; var G__32672 = opts; var G__32673 = pending_forms; return (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(G__32668,G__32669,G__32670,G__32671,G__32672,G__32673) : cljs.tools.reader.read_STAR_.call(null,G__32668,G__32669,G__32670,G__32671,G__32672,G__32673)); })(); cljs.tools.reader.check_eof_error(G__32667,rdr,first_line); cljs.tools.reader.check_invalid_read_cond(G__32667,rdr,first_line); return G__32667; } else { var or__4185__auto__ = cljs.tools.reader.read_suppress(first_line,rdr,opts,pending_forms); if(cljs.core.truth_(or__4185__auto__)){ return or__4185__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.tools.reader.reader_types.indexing_reader_QMARK_(rdr))?cljs.tools.reader.reader_types.get_line_number(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(first_line,rdr,opts,pending_forms); if((match === cljs.tools.reader.READ_FINISHED)){ return cljs.tools.reader.READ_FINISHED; } else { var G__32960 = match; var G__32961 = null; matched = G__32960; finished = G__32961; continue; } } else { if((!((finished === cljs.tools.reader.READ_FINISHED)))){ var G__32962 = matched; var G__32963 = cljs.tools.reader.read_suppress(first_line,rdr,opts,pending_forms); matched = G__32962; finished = G__32963; 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(result),(0)); return rdr; } else { return cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["Spliced form list in read-cond-splicing must implement ISequential"], 0)); } } else { return result; } } }); cljs.tools.reader.read_cond = (function cljs$tools$reader$read_cond(rdr,_,opts,pending_forms){ if(cljs.core.not((function (){var and__4174__auto__ = opts; if(cljs.core.truth_(and__4174__auto__)){ var G__32703 = new cljs.core.Keyword(null,"read-cond","read-cond",1056899244).cljs$core$IFn$_invoke$arity$1(opts); var fexpr__32702 = 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); return (fexpr__32702.cljs$core$IFn$_invoke$arity$1 ? fexpr__32702.cljs$core$IFn$_invoke$arity$1(G__32703) : fexpr__32702.call(null,G__32703)); } else { return and__4174__auto__; } })())){ throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("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__5733__auto__ = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); if(cljs.core.truth_(temp__5733__auto__)){ var ch = temp__5733__auto__; var splicing = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ch,"@"); var ch__$1 = ((splicing)?rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null):ch); if(splicing){ if(cljs.core.truth_(cljs.tools.reader._STAR_read_delim_STAR_)){ } else { cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["cond-splice not in list"], 0)); } } else { } var temp__5733__auto____$1 = ((cljs.tools.reader.impl.utils.whitespace_QMARK_(ch__$1))?cljs.tools.reader.impl.commons.read_past(cljs.tools.reader.impl.utils.whitespace_QMARK_,rdr):ch__$1); if(cljs.core.truth_(temp__5733__auto____$1)){ var ch__$2 = temp__5733__auto____$1; if(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(ch__$2,"(")){ throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("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__orig_val__32714 = cljs.tools.reader._STAR_suppress_read_STAR_; var _STAR_suppress_read_STAR__temp_val__32715 = (function (){var or__4185__auto__ = cljs.tools.reader._STAR_suppress_read_STAR_; if(cljs.core.truth_(or__4185__auto__)){ return or__4185__auto__; } else { return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(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)); } })(); (cljs.tools.reader._STAR_suppress_read_STAR_ = _STAR_suppress_read_STAR__temp_val__32715); try{if(cljs.core.truth_(cljs.tools.reader._STAR_suppress_read_STAR_)){ return cljs.tools.reader.impl.utils.reader_conditional(cljs.tools.reader.read_list(rdr,ch__$2,opts,pending_forms),splicing); } else { return cljs.tools.reader.read_cond_delimited(rdr,splicing,opts,pending_forms); } }finally {(cljs.tools.reader._STAR_suppress_read_STAR_ = _STAR_suppress_read_STAR__orig_val__32714); }} } else { return cljs.tools.reader.impl.errors.throw_eof_in_character(rdr); } } else { return cljs.tools.reader.impl.errors.throw_eof_in_character(rdr); } }); 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.cljs$core$IFn$_invoke$arity$1([((((-1) === n))?"rest":["p",cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join('')),"__",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.impl.utils.next_id()),"#"].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.cljs$core$IFn$_invoke$arity$2("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_env_orig_val__32717 = cljs.tools.reader.arg_env; var arg_env_temp_val__32718 = cljs.core.sorted_map(); (cljs.tools.reader.arg_env = arg_env_temp_val__32718); try{var form = (function (){var G__32719 = (function (){var G__32726 = rdr; cljs.tools.reader.reader_types.unread(G__32726,"("); return G__32726; })(); var G__32720 = true; var G__32721 = null; var G__32722 = opts; var G__32723 = pending_forms; return (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(G__32719,G__32720,G__32721,G__32722,G__32723) : cljs.tools.reader.read_STAR_.call(null,G__32719,G__32720,G__32721,G__32722,G__32723)); })(); var rargs = cljs.core.rseq(cljs.tools.reader.arg_env); var args = ((rargs)?(function (){var higharg = cljs.core.key(cljs.core.first(rargs)); var args = (function (){var i = (1); var args = cljs.core.transient$(cljs.core.PersistentVector.EMPTY); while(true){ if((i > higharg)){ return cljs.core.persistent_BANG_(args); } else { var G__32991 = (i + (1)); var G__32992 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(args,(function (){var or__4185__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.arg_env,i); if(cljs.core.truth_(or__4185__auto__)){ return or__4185__auto__; } else { return cljs.tools.reader.garg(i); } })()); i = G__32991; args = G__32992; continue; } break; } })(); var args__$1 = (cljs.core.truth_(cljs.tools.reader.arg_env.call(null,(-1)))?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(args,new cljs.core.Symbol(null,"&","&",-2144855648,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.tools.reader.arg_env.call(null,(-1))], 0)):args); return args__$1; })():cljs.core.PersistentVector.EMPTY); return (new cljs.core.List(null,new cljs.core.Symbol(null,"fn*","fn*",-752876845,null),(new cljs.core.List(null,args,(new cljs.core.List(null,form,null,(1),null)),(2),null)),(3),null)); }finally {(cljs.tools.reader.arg_env = arg_env_orig_val__32717); }}); /** * 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__5733__auto__ = cljs.tools.reader.arg_env.call(null,n); if(cljs.core.truth_(temp__5733__auto__)){ var ret = temp__5733__auto__; return ret; } else { var g = cljs.tools.reader.garg(n); (cljs.tools.reader.arg_env = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.tools.reader.arg_env,n,g)); return g; } } else { throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("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(rdr,pct); } else { var ch = rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null); if(((cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)) || (cljs.tools.reader.macro_terminating_QMARK_(ch)) || ((ch == null)))){ return cljs.tools.reader.register_arg((1)); } else { if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ch,"&")){ rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); return cljs.tools.reader.register_arg((-1)); } else { var n = (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rd