#10000=@"/array_comprehensions.js;sourcefile" files(#10000,"/array_comprehensions.js","array_comprehensions","js",0) #10001=@"/;folder" folders(#10001,"/","") containerparent(#10001,#10000) #10002=@"loc,{#10000},0,0,0,0" locations_default(#10002,#10000,0,0,0,0) hasLocation(#10000,#10002) #20000=@"global_scope" scopes(#20000,0) #20001=@"script;{#10000},1,1" toplevels(#20001,0) #20002=@"loc,{#10000},1,1,4,53" locations_default(#20002,#10000,1,1,4,53) hasLocation(#20001,#20002) #20003=* stmts(#20003,2,#20001,0,"[for (y ... year];") #20004=@"loc,{#10000},1,1,1,44" locations_default(#20004,#10000,1,1,1,44) hasLocation(#20003,#20004) stmtContainers(#20003,#20001) #20005=* exprs(#20005,73,#20003,0,"[for (y ... ) year]") #20006=@"loc,{#10000},1,1,1,43" locations_default(#20006,#10000,1,1,1,43) hasLocation(#20005,#20006) enclosingStmt(#20005,#20003) exprContainers(#20005,#20001) #20007=* exprs(#20007,76,#20005,1,"for (year of years)") #20008=@"loc,{#10000},1,2,1,20" locations_default(#20008,#10000,1,2,1,20) hasLocation(#20007,#20008) enclosingStmt(#20007,#20003) exprContainers(#20007,#20001) #20009=* scopes(#20009,7) scopenodes(#20007,#20009) scopenesting(#20009,#20000) #20010=@"var;{year};{#20009}" variables(#20010,"year",#20009) #20011=* exprs(#20011,78,#20007,0,"year") #20012=@"loc,{#10000},1,7,1,10" locations_default(#20012,#10000,1,7,1,10) hasLocation(#20011,#20012) enclosingStmt(#20011,#20003) exprContainers(#20011,#20001) literals("year","year",#20011) decl(#20011,#20010) #20013=* exprs(#20013,79,#20007,1,"years") #20014=@"loc,{#10000},1,15,1,19" locations_default(#20014,#10000,1,15,1,19) hasLocation(#20013,#20014) enclosingStmt(#20013,#20003) exprContainers(#20013,#20001) literals("years","years",#20013) #20015=@"var;{years};{#20000}" variables(#20015,"years",#20000) bind(#20013,#20015) #20016=* exprs(#20016,29,#20005,-1,"year > 2000") #20017=@"loc,{#10000},1,26,1,36" locations_default(#20017,#10000,1,26,1,36) hasLocation(#20016,#20017) enclosingStmt(#20016,#20003) exprContainers(#20016,#20001) #20018=* exprs(#20018,79,#20016,0,"year") #20019=@"loc,{#10000},1,26,1,29" locations_default(#20019,#10000,1,26,1,29) hasLocation(#20018,#20019) enclosingStmt(#20018,#20003) exprContainers(#20018,#20001) literals("year","year",#20018) bind(#20018,#20010) #20020=* exprs(#20020,3,#20016,1,"2000") #20021=@"loc,{#10000},1,33,1,36" locations_default(#20021,#10000,1,33,1,36) hasLocation(#20020,#20021) enclosingStmt(#20020,#20003) exprContainers(#20020,#20001) literals("2000","2000",#20020) #20022=* exprs(#20022,79,#20005,0,"year") #20023=@"loc,{#10000},1,39,1,42" locations_default(#20023,#10000,1,39,1,42) hasLocation(#20022,#20023) enclosingStmt(#20022,#20003) exprContainers(#20022,#20001) literals("year","year",#20022) bind(#20022,#20010) #20024=* stmts(#20024,2,#20001,1,"year;") #20025=@"loc,{#10000},2,1,2,5" locations_default(#20025,#10000,2,1,2,5) hasLocation(#20024,#20025) stmtContainers(#20024,#20001) #20026=* exprs(#20026,79,#20024,0,"year") #20027=@"loc,{#10000},2,1,2,4" locations_default(#20027,#10000,2,1,2,4) hasLocation(#20026,#20027) enclosingStmt(#20026,#20024) exprContainers(#20026,#20001) literals("year","year",#20026) #20028=@"var;{year};{#20000}" variables(#20028,"year",#20000) bind(#20026,#20028) #20029=* stmts(#20029,2,#20001,2,"[for (i ... ) i+j];") #20030=@"loc,{#10000},3,1,3,44" locations_default(#20030,#10000,3,1,3,44) hasLocation(#20029,#20030) stmtContainers(#20029,#20001) #20031=* exprs(#20031,73,#20029,0,"[for (i ... s) i+j]") #20032=@"loc,{#10000},3,1,3,43" locations_default(#20032,#10000,3,1,3,43) hasLocation(#20031,#20032) enclosingStmt(#20031,#20029) exprContainers(#20031,#20001) #20033=* exprs(#20033,76,#20031,1,"for (i of numbers)") #20034=@"loc,{#10000},3,2,3,19" locations_default(#20034,#10000,3,2,3,19) hasLocation(#20033,#20034) enclosingStmt(#20033,#20029) exprContainers(#20033,#20001) #20035=* scopes(#20035,7) scopenodes(#20033,#20035) scopenesting(#20035,#20000) #20036=@"var;{i};{#20035}" variables(#20036,"i",#20035) #20037=* exprs(#20037,78,#20033,0,"i") #20038=@"loc,{#10000},3,7,3,7" locations_default(#20038,#10000,3,7,3,7) hasLocation(#20037,#20038) enclosingStmt(#20037,#20029) exprContainers(#20037,#20001) literals("i","i",#20037) decl(#20037,#20036) #20039=* exprs(#20039,79,#20033,1,"numbers") #20040=@"loc,{#10000},3,12,3,18" locations_default(#20040,#10000,3,12,3,18) hasLocation(#20039,#20040) enclosingStmt(#20039,#20029) exprContainers(#20039,#20001) literals("numbers","numbers",#20039) #20041=@"var;{numbers};{#20000}" variables(#20041,"numbers",#20000) bind(#20039,#20041) #20042=* exprs(#20042,76,#20031,2,"for (j of letters)") #20043=@"loc,{#10000},3,21,3,38" locations_default(#20043,#10000,3,21,3,38) hasLocation(#20042,#20043) enclosingStmt(#20042,#20029) exprContainers(#20042,#20001) #20044=* scopes(#20044,7) scopenodes(#20042,#20044) scopenesting(#20044,#20035) #20045=@"var;{j};{#20044}" variables(#20045,"j",#20044) #20046=* exprs(#20046,78,#20042,0,"j") #20047=@"loc,{#10000},3,26,3,26" locations_default(#20047,#10000,3,26,3,26) hasLocation(#20046,#20047) enclosingStmt(#20046,#20029) exprContainers(#20046,#20001) literals("j","j",#20046) decl(#20046,#20045) #20048=* exprs(#20048,79,#20042,1,"letters") #20049=@"loc,{#10000},3,31,3,37" locations_default(#20049,#10000,3,31,3,37) hasLocation(#20048,#20049) enclosingStmt(#20048,#20029) exprContainers(#20048,#20001) literals("letters","letters",#20048) #20050=@"var;{letters};{#20000}" variables(#20050,"letters",#20000) bind(#20048,#20050) #20051=* exprs(#20051,34,#20031,0,"i+j") #20052=@"loc,{#10000},3,40,3,42" locations_default(#20052,#10000,3,40,3,42) hasLocation(#20051,#20052) enclosingStmt(#20051,#20029) exprContainers(#20051,#20001) #20053=* exprs(#20053,79,#20051,0,"i") #20054=@"loc,{#10000},3,40,3,40" locations_default(#20054,#10000,3,40,3,40) hasLocation(#20053,#20054) enclosingStmt(#20053,#20029) exprContainers(#20053,#20001) literals("i","i",#20053) bind(#20053,#20036) #20055=* exprs(#20055,79,#20051,1,"j") #20056=@"loc,{#10000},3,42,3,42" locations_default(#20056,#10000,3,42,3,42) hasLocation(#20055,#20056) enclosingStmt(#20055,#20029) exprContainers(#20055,#20001) literals("j","j",#20055) bind(#20055,#20045) #20057=* stmts(#20057,2,#20001,3,"[for (i ... ) i+j];") #20058=@"loc,{#10000},4,1,4,53" locations_default(#20058,#10000,4,1,4,53) hasLocation(#20057,#20058) stmtContainers(#20057,#20001) #20059=* exprs(#20059,73,#20057,0,"[for (i ... j) i+j]") #20060=@"loc,{#10000},4,1,4,52" locations_default(#20060,#10000,4,1,4,52) hasLocation(#20059,#20060) enclosingStmt(#20059,#20057) exprContainers(#20059,#20001) #20061=* exprs(#20061,76,#20059,1,"for (i of numbers)") #20062=@"loc,{#10000},4,2,4,19" locations_default(#20062,#10000,4,2,4,19) hasLocation(#20061,#20062) enclosingStmt(#20061,#20057) exprContainers(#20061,#20001) #20063=* scopes(#20063,7) scopenodes(#20061,#20063) scopenesting(#20063,#20000) #20064=@"var;{i};{#20063}" variables(#20064,"i",#20063) #20065=* exprs(#20065,78,#20061,0,"i") #20066=@"loc,{#10000},4,7,4,7" locations_default(#20066,#10000,4,7,4,7) hasLocation(#20065,#20066) enclosingStmt(#20065,#20057) exprContainers(#20065,#20001) literals("i","i",#20065) decl(#20065,#20064) #20067=* exprs(#20067,79,#20061,1,"numbers") #20068=@"loc,{#10000},4,12,4,18" locations_default(#20068,#10000,4,12,4,18) hasLocation(#20067,#20068) enclosingStmt(#20067,#20057) exprContainers(#20067,#20001) literals("numbers","numbers",#20067) bind(#20067,#20041) #20069=* exprs(#20069,76,#20059,2,"for (j of letters)") #20070=@"loc,{#10000},4,21,4,38" locations_default(#20070,#10000,4,21,4,38) hasLocation(#20069,#20070) enclosingStmt(#20069,#20057) exprContainers(#20069,#20001) #20071=* scopes(#20071,7) scopenodes(#20069,#20071) scopenesting(#20071,#20063) #20072=@"var;{j};{#20071}" variables(#20072,"j",#20071) #20073=* exprs(#20073,78,#20069,0,"j") #20074=@"loc,{#10000},4,26,4,26" locations_default(#20074,#10000,4,26,4,26) hasLocation(#20073,#20074) enclosingStmt(#20073,#20057) exprContainers(#20073,#20001) literals("j","j",#20073) decl(#20073,#20072) #20075=* exprs(#20075,79,#20069,1,"letters") #20076=@"loc,{#10000},4,31,4,37" locations_default(#20076,#10000,4,31,4,37) hasLocation(#20075,#20076) enclosingStmt(#20075,#20057) exprContainers(#20075,#20001) literals("letters","letters",#20075) bind(#20075,#20050) #20077=* exprs(#20077,27,#20059,-1,"i 2000) year];"," ") hasLocation(#20089,#20004) #20090=* lines(#20090,#20001,"year;"," ") hasLocation(#20090,#20025) #20091=* lines(#20091,#20001,"[for (i of numbers) for (j of letters) i+j];"," ") hasLocation(#20091,#20030) #20092=* lines(#20092,#20001,"[for (i of numbers) for (j of letters) if (i") #20111=@"loc,{#10000},1,31,1,31" locations_default(#20111,#10000,1,31,1,31) hasLocation(#20110,#20111) #20112=* tokeninfo(#20112,3,#20001,11,"2000") hasLocation(#20112,#20021) #20113=* tokeninfo(#20113,8,#20001,12,")") #20114=@"loc,{#10000},1,37,1,37" locations_default(#20114,#10000,1,37,1,37) hasLocation(#20113,#20114) #20115=* tokeninfo(#20115,6,#20001,13,"year") hasLocation(#20115,#20023) #20116=* tokeninfo(#20116,8,#20001,14,"]") #20117=@"loc,{#10000},1,43,1,43" locations_default(#20117,#10000,1,43,1,43) hasLocation(#20116,#20117) #20118=* tokeninfo(#20118,8,#20001,15,";") #20119=@"loc,{#10000},1,44,1,44" locations_default(#20119,#10000,1,44,1,44) hasLocation(#20118,#20119) #20120=* tokeninfo(#20120,6,#20001,16,"year") hasLocation(#20120,#20027) #20121=* tokeninfo(#20121,8,#20001,17,";") #20122=@"loc,{#10000},2,5,2,5" locations_default(#20122,#10000,2,5,2,5) hasLocation(#20121,#20122) #20123=* tokeninfo(#20123,8,#20001,18,"[") #20124=@"loc,{#10000},3,1,3,1" locations_default(#20124,#10000,3,1,3,1) hasLocation(#20123,#20124) #20125=* tokeninfo(#20125,7,#20001,19,"for") #20126=@"loc,{#10000},3,2,3,4" locations_default(#20126,#10000,3,2,3,4) hasLocation(#20125,#20126) #20127=* tokeninfo(#20127,8,#20001,20,"(") #20128=@"loc,{#10000},3,6,3,6" locations_default(#20128,#10000,3,6,3,6) hasLocation(#20127,#20128) #20129=* tokeninfo(#20129,6,#20001,21,"i") hasLocation(#20129,#20038) #20130=* tokeninfo(#20130,6,#20001,22,"of") #20131=@"loc,{#10000},3,9,3,10" locations_default(#20131,#10000,3,9,3,10) hasLocation(#20130,#20131) #20132=* tokeninfo(#20132,6,#20001,23,"numbers") hasLocation(#20132,#20040) #20133=* tokeninfo(#20133,8,#20001,24,")") #20134=@"loc,{#10000},3,19,3,19" locations_default(#20134,#10000,3,19,3,19) hasLocation(#20133,#20134) #20135=* tokeninfo(#20135,7,#20001,25,"for") #20136=@"loc,{#10000},3,21,3,23" locations_default(#20136,#10000,3,21,3,23) hasLocation(#20135,#20136) #20137=* tokeninfo(#20137,8,#20001,26,"(") #20138=@"loc,{#10000},3,25,3,25" locations_default(#20138,#10000,3,25,3,25) hasLocation(#20137,#20138) #20139=* tokeninfo(#20139,6,#20001,27,"j") hasLocation(#20139,#20047) #20140=* tokeninfo(#20140,6,#20001,28,"of") #20141=@"loc,{#10000},3,28,3,29" locations_default(#20141,#10000,3,28,3,29) hasLocation(#20140,#20141) #20142=* tokeninfo(#20142,6,#20001,29,"letters") hasLocation(#20142,#20049) #20143=* tokeninfo(#20143,8,#20001,30,")") #20144=@"loc,{#10000},3,38,3,38" locations_default(#20144,#10000,3,38,3,38) hasLocation(#20143,#20144) #20145=* tokeninfo(#20145,6,#20001,31,"i") hasLocation(#20145,#20054) #20146=* tokeninfo(#20146,8,#20001,32,"+") #20147=@"loc,{#10000},3,41,3,41" locations_default(#20147,#10000,3,41,3,41) hasLocation(#20146,#20147) #20148=* tokeninfo(#20148,6,#20001,33,"j") hasLocation(#20148,#20056) #20149=* tokeninfo(#20149,8,#20001,34,"]") #20150=@"loc,{#10000},3,43,3,43" locations_default(#20150,#10000,3,43,3,43) hasLocation(#20149,#20150) #20151=* tokeninfo(#20151,8,#20001,35,";") #20152=@"loc,{#10000},3,44,3,44" locations_default(#20152,#10000,3,44,3,44) hasLocation(#20151,#20152) #20153=* tokeninfo(#20153,8,#20001,36,"[") #20154=@"loc,{#10000},4,1,4,1" locations_default(#20154,#10000,4,1,4,1) hasLocation(#20153,#20154) #20155=* tokeninfo(#20155,7,#20001,37,"for") #20156=@"loc,{#10000},4,2,4,4" locations_default(#20156,#10000,4,2,4,4) hasLocation(#20155,#20156) #20157=* tokeninfo(#20157,8,#20001,38,"(") #20158=@"loc,{#10000},4,6,4,6" locations_default(#20158,#10000,4,6,4,6) hasLocation(#20157,#20158) #20159=* tokeninfo(#20159,6,#20001,39,"i") hasLocation(#20159,#20066) #20160=* tokeninfo(#20160,6,#20001,40,"of") #20161=@"loc,{#10000},4,9,4,10" locations_default(#20161,#10000,4,9,4,10) hasLocation(#20160,#20161) #20162=* tokeninfo(#20162,6,#20001,41,"numbers") hasLocation(#20162,#20068) #20163=* tokeninfo(#20163,8,#20001,42,")") #20164=@"loc,{#10000},4,19,4,19" locations_default(#20164,#10000,4,19,4,19) hasLocation(#20163,#20164) #20165=* tokeninfo(#20165,7,#20001,43,"for") #20166=@"loc,{#10000},4,21,4,23" locations_default(#20166,#10000,4,21,4,23) hasLocation(#20165,#20166) #20167=* tokeninfo(#20167,8,#20001,44,"(") #20168=@"loc,{#10000},4,25,4,25" locations_default(#20168,#10000,4,25,4,25) hasLocation(#20167,#20168) #20169=* tokeninfo(#20169,6,#20001,45,"j") hasLocation(#20169,#20074) #20170=* tokeninfo(#20170,6,#20001,46,"of") #20171=@"loc,{#10000},4,28,4,29" locations_default(#20171,#10000,4,28,4,29) hasLocation(#20170,#20171) #20172=* tokeninfo(#20172,6,#20001,47,"letters") hasLocation(#20172,#20076) #20173=* tokeninfo(#20173,8,#20001,48,")") #20174=@"loc,{#10000},4,38,4,38" locations_default(#20174,#10000,4,38,4,38) hasLocation(#20173,#20174) #20175=* tokeninfo(#20175,7,#20001,49,"if") #20176=@"loc,{#10000},4,40,4,41" locations_default(#20176,#10000,4,40,4,41) hasLocation(#20175,#20176) #20177=* tokeninfo(#20177,8,#20001,50,"(") #20178=@"loc,{#10000},4,43,4,43" locations_default(#20178,#10000,4,43,4,43) hasLocation(#20177,#20178) #20179=* tokeninfo(#20179,6,#20001,51,"i") hasLocation(#20179,#20080) #20180=* tokeninfo(#20180,8,#20001,52,"<") #20181=@"loc,{#10000},4,45,4,45" locations_default(#20181,#10000,4,45,4,45) hasLocation(#20180,#20181) #20182=* tokeninfo(#20182,6,#20001,53,"j") hasLocation(#20182,#20082) #20183=* tokeninfo(#20183,8,#20001,54,")") #20184=@"loc,{#10000},4,47,4,47" locations_default(#20184,#10000,4,47,4,47) hasLocation(#20183,#20184) #20185=* tokeninfo(#20185,6,#20001,55,"i") hasLocation(#20185,#20086) #20186=* tokeninfo(#20186,8,#20001,56,"+") #20187=@"loc,{#10000},4,50,4,50" locations_default(#20187,#10000,4,50,4,50) hasLocation(#20186,#20187) #20188=* tokeninfo(#20188,6,#20001,57,"j") hasLocation(#20188,#20088) #20189=* tokeninfo(#20189,8,#20001,58,"]") #20190=@"loc,{#10000},4,52,4,52" locations_default(#20190,#10000,4,52,4,52) hasLocation(#20189,#20190) #20191=* tokeninfo(#20191,8,#20001,59,";") #20192=@"loc,{#10000},4,53,4,53" locations_default(#20192,#10000,4,53,4,53) hasLocation(#20191,#20192) #20193=* tokeninfo(#20193,0,#20001,60,"") #20194=@"loc,{#10000},4,54,4,53" locations_default(#20194,#10000,4,54,4,53) hasLocation(#20193,#20194) #20195=* entry_cfg_node(#20195,#20001) #20196=@"loc,{#10000},1,1,1,0" locations_default(#20196,#10000,1,1,1,0) hasLocation(#20195,#20196) #20197=* exit_cfg_node(#20197,#20001) hasLocation(#20197,#20194) successor(#20057,#20059) successor(#20061,#20067) successor(#20067,#20065) successor(#20067,#20197) successor(#20069,#20075) successor(#20075,#20073) successor(#20075,#20065) successor(#20075,#20197) successor(#20087,#20083) successor(#20085,#20087) successor(#20083,#20073) successor(#20083,#20065) successor(#20083,#20197) successor(#20081,#20077) successor(#20079,#20081) #20198=* guard_node(#20198,1,#20077) hasLocation(#20198,#20078) successor(#20198,#20085) #20199=* guard_node(#20199,0,#20077) hasLocation(#20199,#20078) successor(#20199,#20073) successor(#20199,#20065) successor(#20199,#20197) successor(#20077,#20198) successor(#20077,#20199) successor(#20073,#20079) successor(#20065,#20069) successor(#20059,#20061) successor(#20029,#20031) successor(#20033,#20039) successor(#20039,#20037) successor(#20039,#20057) successor(#20042,#20048) successor(#20048,#20046) successor(#20048,#20037) successor(#20048,#20057) successor(#20055,#20051) successor(#20053,#20055) successor(#20051,#20046) successor(#20051,#20037) successor(#20051,#20057) successor(#20046,#20053) successor(#20037,#20042) successor(#20031,#20033) successor(#20024,#20026) successor(#20026,#20029) successor(#20003,#20005) successor(#20007,#20013) successor(#20013,#20011) successor(#20013,#20024) successor(#20022,#20011) successor(#20022,#20024) successor(#20020,#20016) successor(#20018,#20020) #20200=* guard_node(#20200,1,#20016) hasLocation(#20200,#20017) successor(#20200,#20022) #20201=* guard_node(#20201,0,#20016) hasLocation(#20201,#20017) successor(#20201,#20011) successor(#20201,#20024) successor(#20016,#20200) successor(#20016,#20201) successor(#20011,#20018) successor(#20005,#20007) successor(#20195,#20003) numlines(#10000,4,4,0) filetype(#10000,"javascript")